2024.5.4

一点都不难發表於2024-06-28

在地圖功能的實現上,要新增隱私協議,這裡是功能實現程式碼
PrivacyPolicyActivity.java
package com.example.share;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;

public class PrivacyPolicyActivity extends AppCompatActivity {
private WebView webView;

@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // 載入隱私協議頁面
    webView = findViewById(R.id.webView);
    webView.getSettings().setJavaScriptEnabled(true);
    webView.setWebViewClient(new WebViewClient());
    webView.loadUrl("file:///android_asset/privacy_policy.html");

    // 檢查使用者是否同意隱私協議
    boolean agreedToPrivacyPolicy = checkAgreedToPrivacyPolicy();

    // 如果使用者已同意隱私協議,則啟用地圖功能
    if (agreedToPrivacyPolicy) {
        // 初始化地圖
        initializeMap();
    } else {
        // 如果使用者尚未同意隱私協議,則在 WebView 中顯示協議內容
        webView.setVisibility(View.VISIBLE);
        webView.requestFocus();
    }
}

// 檢查使用者是否已同意隱私協議
private boolean checkAgreedToPrivacyPolicy() {
    // 在這裡檢查本地儲存,資料庫或共享首選項中的使用者同意狀態,並返回相應的布林值
    // 這裡僅作示例,實際實現可能需要使用 SharedPreferences 或其他方法來儲存使用者同意狀態
    return true; // 返回 true 表示使用者已同意隱私協議,返回 false 表示使用者尚未同意
}

// 初始化地圖
private void initializeMap() {
    // 在這裡初始化地圖並開始使用高德地圖API
}

}
activity_privacy_policy.xml

<WebView
    android:id="@+id/webView"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:visibility="gone" />