【发布时间】:2019-09-11 21:32:24
【问题描述】:
我尝试从使用此代码从前台服务启动的广播接收器启动一个活动
val intent = Intent("my.intent")
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
context?.startActivity(intent)
活动开始。但是当我看到活动并按下主页按钮时,下次当接收器尝试启动活动时,活动将不会启动,如果我在活动显示时按下后退按钮,下次活动将从接收器开始而没有任何问题。
我尝试为开始意图设置差异标志。 设置 singleTask 和 singleInstance 此外,我尝试覆盖 onBackPressed() 以完成活动并从 onPause() 调用 finish()。但行为不会改变。 我从主要活动开始我的前台服务,在这种情况下,我有相同的行为。如果我启动我的前台服务(只需单击按钮)并按主页以最小化应用程序以这种方式广播活动也不会启动 我展示了 toast frow 接收器,所以我确定活动必须开始。
我的清单
<activity
android:name=".NeededActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="my.intent" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
有什么区别以及如何解决它,我每次在接收器中调用 startActivity 时都需要启动 Activity。 我已经在 Android 10 上测试了我的代码。
【问题讨论】: