lst*_*kov 21 android android-activity
我的应用程序在后台运行,在某些时候会显示活动以故意中断用户的流程.我的活动启动了一项新任务,该任务在前台时出现在"近期任务"列表中.有什么方法可以预防吗?设置android:excludeFromRecents不起作用 - 仅在暂停后,"近期任务"中不再显示活动.
清单看起来像:
<activity
android:name="com.example.recenttasks.MainActivity"
android:excludeFromRecents="true">
</activity>
Run Code Online (Sandbox Code Playgroud)
和活动以这种方式开始:
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
Run Code Online (Sandbox Code Playgroud)
你提到的关键是
在前景中出现在"近期任务"列表中
我认为你无法改变这种行为.我刚刚测试了我的应用程序,同样的事情发生了.如果我在前台进行活动时按下"最近任务"按钮,则会显示在那里.当我离开它到另一个活动或我的手机的主屏幕时,活动不再列出.
我还在最新Android版本附带的内置DeskClock应用程序中对此进行了测试,并且在触发新警报时会出现相同的行为.请注意,该AlarmAlertFullscreen应用的活动与您在问题中提到的参数相同.
我不确定你是否可以绕过这个或者为什么你需要在第一时间,因为一旦失去焦点,活动就不再列出了.
你在清单中定义了它就足够了,但它还没有到来..
好的..尝试将此标志也添加到您的Intnet并启动活动..
intnet.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6873 次 |
| 最近记录: |