根据此处记录的新行为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 ×1