渠道要求在用户同意隐私协议之前,App 不可以调用相关敏感 API,同意后方能进行后续进程,参考网上的资料自己做了个demo【实现启动时检测是否需要弹出提示框,同意进入游戏,不同意退出游戏,第二次进入时,若之前同意过直接进入游戏】。
实现代码如下:
创建加载页MyLaunchActivity,实现检测是否需要弹出隐私提示框以及通过WebView查看隐私协议
package org.cocos2dx.cpp.launch;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.widget.Button;
import android.widget.FrameLayout;
import android.widget.TextView;
import com.sant.test.R;
import org.cocos2dx.cpp.AppActivity;
public class MyLaunchActivity extends Activity {
private static String _agreedSymbol = "AGREE_HQ_SERVICE";
private MyPrivacyDialog _agrementDialog=null;
private FrameLayout _bgLayout=null;
private TextView _titleTxt=null;
private WebView _webView=null;
private Button _exitBtn=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_launch);
initShow();
initDialog();
}
private void initShow(){
_bgLayout=findViewById(R.id.launch_con_node);
_titleTxt=findViewById(R.id.launch_title);
_exitBtn=findViewById(R.id.launch_exitBtn);
_exitBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
if(_agrementDialog!=null){
_agrementDialog.show();
}
_bgLayout.setVisibility(View.GONE);
}
});
_webView=findViewById(R.id.launch_WebView);
WebSettings settings = _webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDefaultTextEncodingName("UTF-8");
//自适应手机屏幕
settings.setUseWideViewPort(true);
settings.setLoadWithOverviewMode(true);
_bgLayout.setVisibility(View.GONE);
}
private void initDialog(){
boolean states= (boolean) SPUtil.get(getApplication(),_a

该文章展示了如何在Android应用中创建一个启动页(MyLaunchActivity),检查用户是否同意隐私协议。如果用户未同意,会显示一个WebView加载隐私协议供用户查看。用户同意后才会调用敏感API并进入游戏。不同意则退出。同时,应用会存储用户的同意状态,以便下次启动时直接进入游戏。
2709

被折叠的 条评论
为什么被折叠?



