gpt4 book ai didi

Android Pie 9.0 将用户带到通知中心

转载 作者:行者123 更新时间:2023-11-29 23:19:12 25 4
gpt4 key购买 nike

我将用户带到通知中心以控制他们的推送通知首选项并从我的应用程序中读取它,然后设置为切换开关。我对 Lollipop 和 Oreo 有不同的操作,但目前应用程序在 Android Pie 9.0 上崩溃。我该如何解决这个问题?

public void onPushSwitchChanged(View v){
if(v.isPressed()){
Intent intent = new Intent();
if(android.os.Build.VERSION.SDK_INT > Build.VERSION_CODES.N_MR1){
intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS");
intent.putExtra("android.provider.extra.APP_PACKAGE", mContext.getPackageName());
}else if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS");
intent.putExtra("app_package", mContext.getPackageName());
intent.putExtra("app_uid", mContext.getApplicationInfo().uid);
}else {
intent.setAction(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.setData(Uri.parse("package:" + mContext.getPackageName()));
}
mContext.startActivity(intent);
}
}

错误是

android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag.

最佳答案

更新,

我通过添加解决了这个问题,

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

在我的第一个 if block 中。

关于Android Pie 9.0 将用户带到通知中心,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54718702/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com