小编yan*_*eq6的帖子

Android 9 API 28 FLAG_ACTIVITY_NEW_TASK,是否真的得到了强制执行?

根据此处记录的新行为https://developer.android.com/about/versions/pie/android-9.0-changes-all#fant-required从非活动上下文开始活动需要FLAG_ACTIVITY_NEW_TASK标志,也许......

所以我创建了沙盒应用程序,可以按包名和活动名称启动其他应用程序的活动.用于启动的核心功能如下所示:

fun Context.startActivity(packageName: String, activityName: String) {
    applicationContext.startActivity(Intent(Intent.ACTION_MAIN).apply {
        component = ComponentName(packageName, activityName)
    })
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是,通过调用此函数,我可以成功地启动任何导出的活动而不会传递FLAG_ACTIVITY_NEW_TASK.这与谷歌所说的完全不同.或许我错误地理解了这种新的行为要求?

当然,我在API 28上测试了这个,但也测试了较低的API.

有人可以解释在哪种情况下这种新行为会破坏任何适用于旧API的功能吗?

android

5
推荐指数
1
解决办法
1075
查看次数

标签 统计

android ×1