Android开发完整项目案例-同意隐私政策弹框

背景:

现在用户未同意隐私政策前就获取了用户个人信息(mac地址,imei码),所以在启动页都得加个隐私政策询问弹框,同意后再初始化第三方SDK

作用:

符合要求

效果图:

隐私弹框.jpg

思路:

用SP存储用户是否同意了隐私政策,在启动页如果SP存的值为true,就走正常流程,如果为false,就弹框询问,用户同意后再调Application里面的初始化第三方SDK,再走正常流程

关键代码:

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();
    
    // 友盟预初始化
    UMConfigure.preInit(mInstance,BuildConfig.UMENG_APPKEY, BuildConfig.FLAVOR);
    initSDK();
}


public void initSDK(){
    if(SPNoCleanUtil.getIsAgreeYSAndXY()){
        //友盟初始化,因为项目中的新版友盟,组件化SDK,没有用到Push功能,传null
        UMConfigure.init(mInstance, BuildConfig.UMENG_APPKEY, BuildConfig.FLAVOR, UMConfigure.DEVICE_TYPE_PHONE, null);
        // 选用AUTO页面采集模式
        MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
        
        //初始化其他SDK

    }
}
}

StartupActivity(启动页)

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);

    

    //开始倒计时,改成隐私弹框
    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) {
               //点了同意按钮
                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();
}

}

隐私政策弹框代码就不给出了,这里代码也简单,关键是思路要对

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ![Flask](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAW...
    极客学院Wiki阅读 7,741评论 0 3
  • 不知不觉易趣客已经在路上走了快一年了,感觉也该让更多朋友认识知道易趣客,所以就谢了这篇简介,已做创业记事。 易趣客...
    Physher阅读 3,767评论 1 2
  • 双胎妊娠有家族遗传倾向,随母系遗传。有研究表明,如果孕妇本人是双胎之一,她生双胎的机率为1/58;若孕妇的父亲或母...
    邺水芙蓉hibiscus阅读 3,847评论 0 2
  • 晴天,拥抱阳光,拥抱你。雨天,想念雨滴,想念你。 我可以喜欢你吗可以啊 我还可以喜欢你吗可以,可是你要知道我们不可...
    露薇霜凝阅读 1,344评论 1 2

友情链接更多精彩内容