Android 10(Api 29)新特性适配 – 禁止后台启动Activity

官方文档:https://developer.android.google.cn/preview/privacy/background-activity-starts

现象描述

  • AndroidQ上,后台启动Activity会被系统忽略,不管targetSdkVersion多少
  • AndroidQ上,即使应用有前台服务也不行
  • AndroidQ以下版本没影响

解决方法

发送全屏通知:

//AndroidManifest 声明新权限,不用动态申请
<uses-permission android:name="android.permission.USE_FULL_SCREEN_INTENT"/>
Intent intent = new Intent(this, ScopedStorageActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this,
        REQ_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Notification notification = new NotificationCompat.Builder(this, Constants.CHANNEL_ID)
        .setSmallIcon(R.drawable.ic_launcher_foreground)
        .setContentTitle("Incoming call")
        .setContentText("(919) 555-1234")
        .setPriority(NotificationCompat.PRIORITY_HIGH)
        .setCategory(NotificationCompat.CATEGORY_ALARM)
        //设置全屏通知后,发送通知直接启动Activity
        .setFullScreenIntent(pendingIntent, true)
        .build();
NotificationManager manager = getSystemService(NotificationManager.class);
manager.notify(10, notification);

但是:在华为mate20(Api-28)上需要到设置中打开横幅通知;原生Android Q上有效

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/03/18/android-10-api-29-new-feature-adaptation-prohibit-background-launch-of-activities/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Android 10(Api 29)新特性适配 – 禁止后台启动Activity
官方文档:https://developer.android.google.cn/preview/privacy/background-activity-starts 现象描述 AndroidQ上,后台启动Activity会被系统忽略,不管tar……
<<上一篇
下一篇>>
文章目录
关闭
目 录