当前位置: 首页 > news >正文

Cocos Creater打包安卓App添加隐私弹窗详细步骤+常见问题处理

最终演示效果,包含所有代码内容 + 常见错误问题处理

点击服务协议、隐私政策,跳转到相关网页,

点击同意进入游戏,不同意关闭应用

一,添加Activity,命名为MyLaunchActivity

二,编写MyLaunchActivity.java的内容

package com.cocos.game.launch;import android.os.Bundle;import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import fish.create.light.R;import android.widget.FrameLayout;
import android.webkit.WebView;
import android.widget.TextView;
import android.widget.Button;
import android.view.View;
import android.webkit.WebSettings;
import android.view.KeyEvent;
import android.content.Intent;
import android.app.Activity;import com.cocos.game.AppActivity;//AppCompatActivity
public class MyLaunchActivity extends Activity {//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate(savedInstanceState);
//        EdgeToEdge.enable(this);
//        setContentView(R.layout.my_launch);
//        ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
//            Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
//            v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
//            return insets;
//        });
//    }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;@Overrideprotected 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(){@Overridepublic 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(),_agreedSymbol,false);if (states==false){_agrementDialog = new MyPrivacyDialog(this);_agrementDialog.show();_agrementDialog.setOnBtnClickListener(new MyPrivacyDialog.OnBtnClickListener(){@Overridepublic void onClick(int type) {switch (type) {case MyPrivacyDialog.ARGEEMENT_TEXT_CLICK://查看用户协议loadUrl(getResources().getString(R.string.url_service),getResources().getString(R.string.user_service));break;case MyPrivacyDialog.SECRET_TEXT_CLICK://查看隐私协议_agrementDialog.hide();loadUrl(getResources().getString(R.string.url_private),getResources().getString(R.string.user_private));break;case MyPrivacyDialog.NOT_ARGEE_BTN_CLICK://不同意按钮_agrementDialog.dismiss();finish();break;case MyPrivacyDialog.ARGEE_BTN_CLICK: //同意按钮_agrementDialog.dismiss();SPUtil.put(getApplication(),_agreedSymbol,true);jumpGameActivity();break;}}});}else{jumpGameActivity();}}private void loadUrl(String url,String str){_bgLayout.setVisibility(View.VISIBLE);_titleTxt.setText(str);_webView.loadUrl(url);_agrementDialog.hide();}public void jumpGameActivity() {// 闪屏结束后,跳转到游戏界面Intent intent = new Intent(this, AppActivity.class);startActivity(intent);this.finish();}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event){if (keyCode == KeyEvent.KEYCODE_BACK){}return true;}}

三,编写my_launch.xml内容

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width=

相关文章:

  • android测试依赖
  • 【论文阅读21】-PSOSVM-CNN-GRU-Attention-滑坡预测(2024-12)
  • ubuntu24.04上使用qemu+buildroot+uboot+linux+tftp+nfs模拟搭建vexpress-ca9嵌入式linux开发环境
  • FFMPEG-视频解码-支持rtsp|rtmp|音视频文件(低延迟)
  • 【Hot100】 73. 矩阵置零
  • Graham Scan算法求解二维凸包
  • 2024年网站开发语言选择指南:PHP/Java/Node.js/Python如何选型?
  • 从UDS协议学习ISO网络七层架构:汽车诊断网络协议的分层逻辑剖析
  • wordpress SMTP配置qq邮箱发送邮件,新版QQ邮箱授权码获取方法
  • WPF 点击按钮,显示隐藏另一个控件
  • MCP 应用案例-网络设备批量管理
  • Git 版本控制工具
  • JAVA:Spring Boot 集成 Caffeine 实现本地缓存的技术博客
  • 让机器学习更透明:使用 Python 开发可解释性模型工具包
  • Unity Nav Mesh导航系统的简单使用
  • keil5 µVision 升级为V5.40.0.0:增加了对STM32CubeMX作为全局生成器的支持,主要有哪些好处?
  • Chat2DB创始人姬朋飞:AI在 text2sql应用领域的实践
  • leetcode57.插入区间
  • 力扣-hot100(无重复字符的最长子串)
  • QML FileIO 组件
  • 龚桢梽任广东省发展和改革委员会副主任
  • 工信部:加快推进6G技术研发等,前瞻布局和培育面向6G的应用产业生态
  • 针灸学专家夏玉清逝世,20岁时奔赴抗美援朝战场救护伤员
  • 正义网评“一男两女举办婚礼”:“一夫多妻”流量闹剧该歇了
  • 郑州一废弃饭店堆砌物起火:明火被扑灭,未造成人员伤亡
  • 上传150个电视剧切条短视频到网上,博主被判赔2万元