那改成对话框已经出现过了并且已经同意过来
时间: 2024-03-21 11:37:45 浏览: 20
你可以使用 `SharedPreferences` 保存用户的同意状态,下次弹窗时读取该状态,如果已经同意过,则不再显示弹窗。具体来说,你可以在弹窗的确定按钮被点击时,将同意状态保存到 `SharedPreferences` 中。在下次弹窗时,读取该同意状态,如果已经同意,则不再显示弹窗。代码示例如下:
```
/**
* 在 UI 线程中显示目标 SDK 版本过时的警告对话框。
*
* @param ar 包含应用程序信息的 ActivityRecord 对象
*/
@UiThread
private void showDeprecatedTargetSdkDialogUiThread(ActivityRecord ar) {
// 如果警告对话框已经存在,则关闭它
if (mDeprecatedTargetSdkVersionDialog != null) {
mDeprecatedTargetSdkVersionDialog.dismiss();
mDeprecatedTargetSdkVersionDialog = null;
}
// 如果 ActivityRecord 对象不为 null,且应用程序没有设置 FLAG_HIDE_DEPRECATED_SDK 标志,
// 则创建一个目标 SDK 版本过时的警告对话框,并显示出来
if (ar != null && !hasPackageFlag(
ar.packageName, FLAG_HIDE_DEPRECATED_SDK)) {
// 读取用户的同意状态
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mUiContext);
boolean agreed = prefs.getBoolean(KEY_DEPRECATED_TARGET_SDK_AGREED, false);
// 如果用户已经同意,则不再显示弹窗
if (agreed) {
return;
}
mDeprecatedTargetSdkVersionDialog = new DeprecatedTargetSdkVersionDialog(
AppWarnings.this, mUiContext, ar.info.applicationInfo);
// 设置确定按钮的点击事件,保存用户的同意状态到 SharedPreferences 中
mDeprecatedTargetSdkVersionDialog.setPositiveButtonClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mUiContext);
prefs.edit().putBoolean(KEY_DEPRECATED_TARGET_SDK_AGREED, true).apply();
}
});
mDeprecatedTargetSdkVersionDialog.show();
}
}
```
在上面的代码中,我们添加了一个 `SharedPreferences` 和两个常量 `KEY_DEPRECATED_TARGET_SDK_AGREED` 和 `false`。在弹窗的确定按钮被点击时,我们将用户的同意状态保存到 `SharedPreferences` 中,并在下次弹窗时读取该状态,如果已经同意,则不再显示弹窗。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)