Android開發(fā)完整項(xiàng)目案例-同意隱私政策彈框

背景:

現(xiàn)在用戶未同意隱私政策前就獲取了用戶個(gè)人信息(mac地址,imei碼),所以在啟動(dòng)頁(yè)都得加個(gè)隱私政策詢問彈框,同意后再初始化第三方SDK

作用:

符合要求

效果圖:

隱私彈框.jpg

思路:

用SP存儲(chǔ)用戶是否同意了隱私政策,在啟動(dòng)頁(yè)如果SP存的值為true,就走正常流程,如果為false,就彈框詢問,用戶同意后再調(diào)Application里面的初始化第三方SDK,再走正常流程

關(guān)鍵代碼:

SPUtils

public static void saveIsAgreeYSAndXY(){
    putBoolean(SPKey.IS_AGREE_YS_AND_XY,true);
}


public static boolean getIsAgreeYSAndXY(){
    return getBoolean(SPKey.IS_AGREE_YS_AND_XY,false);
}

MyApplication

public class MyApplication extends MultiDexApplication {

@Override
public void onCreate() {
    super.onCreate();
    
    // 友盟預(yù)初始化
    UMConfigure.preInit(mInstance,BuildConfig.UMENG_APPKEY, BuildConfig.FLAVOR);
    initSDK();
}


public void initSDK(){
    if(SPNoCleanUtil.getIsAgreeYSAndXY()){
        //友盟初始化,因?yàn)轫?xiàng)目中的新版友盟,組件化SDK,沒有用到Push功能,傳null
        UMConfigure.init(mInstance, BuildConfig.UMENG_APPKEY, BuildConfig.FLAVOR, UMConfigure.DEVICE_TYPE_PHONE, null);
        // 選用AUTO頁(yè)面采集模式
        MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
        
        //初始化其他SDK

    }
}
}

StartupActivity(啟動(dòng)頁(yè))

public class StartupActivity extends BaseActivity<StartupIView, StartupPresenter> implements StartupIView {

@BindView(R.id.iv_ad)
ImageView ivAd;
@BindView(R.id.tv_ad_countdown)
TextView tvAdCountdown;
@BindView(R.id.fl_ad)
FrameLayout flAd;



@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_startup);
    ButterKnife.bind(this);

    

    //開始倒計(jì)時(shí),改成隱私彈框
    startCountDown();
 
}


private void startCountDown() {

    if(!SPNoCleanUtil.getIsAgreeYSAndXY()){
        AppDialogUtils.guideYinsiDialog(mContext, new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                
            }
        }, new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                
            }
        }, new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               //點(diǎn)了同意按鈕
                toNext();
            }
        });
    }else {
        toNext();
    }
}



private void toNext() {
    if(!SPNoCleanUtil.getIsAgreeYSAndXY()){
        SPNoCleanUtil.saveIsAgreeYSAndXY();
        ((MyApplication)getIView().getContext().getApplicationContext()).initSDK();
    }
     if (!SPUtils.getIsLogin()) {
        IntentUtils.startGuideActivity(mContext);
    } else {
        IntentUtils.startMainActivity(mContext);
    }
    finish();
}

}

隱私政策彈框代碼就不給出了,這里代碼也簡(jiǎn)單,關(guān)鍵是思路要對(duì)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容