Android用户协议与隐私政策实现(完整版)

您所在的位置:网站首页 android上架 Android用户协议与隐私政策实现(完整版)

Android用户协议与隐私政策实现(完整版)

2024-07-13 02:07| 来源: 网络整理| 查看: 265

1、概述

哈喽,我是鑫鑫,这也是我第一次写博客。

原理也很简单

首先

让程序检测你是不是第一次使用app, 如果是则在activity_main.xml中显示dialog(也就是MainActivity.java中的dialog_privacy_show.xml)

,并实现程序的跳转至主程序SecondActivity.xml

对应的SecondActivity.java代码点我传送

如果是第二次启动,则不弹窗,直接进入主程序SecondActivity.xml

所需的资源文件点我跳转

2、代码

新创建一个

activity_main.xml

以下是activity_main对应的Java代码

MainActivity.java package com.mycompany.myapp; import android.app.Activity; import android.app.AlertDialog; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.text.SpannableString; import android.text.Spanned; import android.texthod.LinkMovementMethod; import android.text.style.ClickableSpan; import android.view.LayoutInflater; import android.view.View; import android.widget.TextView; import com.mycompany.myapp.R; public class MainActivity extends Activity { SharedPreferences sharedPreferences; AlertDialog dialog; private SharedPreferences.Editor editor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getActionBar().hide(); date(); } private void date() { SharedPreferences shared= getSharedPreferences("is", MODE_PRIVATE); boolean isfer=shared.getBoolean("isfer", true); editor = shared.edit(); if(isfer){ //第一次进入跳转 showDialog(); }else{ //第二次 Intent ok = new Intent(MainActivity.this,SecondActivity.class); startActivity(ok); finish(); } } private void showDialog() { AlertDialog.Builder builder= new AlertDialog.Builder(this); //获取界面 View view= LayoutInflater.from(this).inflate(R.layout.dialog_privacy_show, null); //将界面填充到AlertDiaLog容器并去除边框 builder.setView(view); //初始化控件 TextView but_ok= view.findViewById(R.id.but_ok); TextView but_return= view.findViewById(R.id.but_return); TextView YinSi= view.findViewById(R.id.YinSi); TextView YongHu= view.findViewById(R.id.YongHu); //取消点击外部消失弹窗 builder.setCancelable(false); //创建AlertDiaLog builder.create(); //AlertDiaLog显示 final AlertDialog dialog= builder.show(); //设置AlertDiaLog宽高属性 // WindowManager.LayoutParams params = Objects.requireNonNull(customAlert.getWindow()).getAttributes(); // params.width = 200; // params.height = 200 ; // dialog.getWindow().setAttributes(params); // 移除dialog的decorview背景色 dialog.getWindow().getDecorView().setBackground(null); //设置自定义界面的点击事件逻辑 but_ok.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent ok = new Intent(MainActivity.this,SecondActivity.class); startActivity(ok); finish(); editor.putBoolean("isfer", false); editor.commit(); } }); but_return.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); YinSi.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(MainActivity.this,YinSi.class); startActivity(intent); } }); YongHu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent=new Intent(MainActivity.this,YongHu.class); startActivity(intent); } }); } } SecondActivity.xml Second_Activity.java package com.mycompany.myapp; import android.app.Activity; import android.os.Bundle; public class SecondActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.SecondActivity); } //里面的功能自己填充 } dialog_privacy_show.xml ***以下的所有资源在drawable文件中创建*** fill_stroke.xml

对应dialog_privacy_show.xml代码 蓝色位置即是指定资源文件

ic_message_alert.xml

对应dialog_privacy_show.xml代码位蓝色位置一是指定代码

以上就是全部的代码了,如果有什么bug反馈

以下是效果图

在这里插入图片描述

鑫鑫工具箱是我另外一个demo 现已更新至6.1版本 感兴趣的可以下载一下:https://share.weiyun.com/4fK4CUIX

我的邮箱:[email protected]有bug可以反馈。

我是鑫鑫,再见了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3