我有一个 android 应用程序,我在 SCREEN_OFF 上执行一个功能。现在,当我再次 SCREEN_ON 时,我看到我的活动再次出现在我不想要的前台。我在 [onCreate] 中也尝试了 [finish()] 方法 [moveTaskToBack(true);] 但都没有奏效。
您可以认为 Facebook 在后台运行服务,但是当我们 SCREEN_ON 时,主屏幕永远不会出现在前台,除非我们不手动打开应用程序。
问候
非常感谢奥拉夫的帮助。我可以解决这个问题。我告诉你我是怎么做到的。我在我想放的那个方法中放了一个标志
Bundle myKillerBundle = new Bundle();
myKillerBundle.putInt("kill",1);
intent.putExtras(myKillerBundle);
和活动的onCreate,我正在检查那个标志 if(this.getIntent().getExtras().getInt("kill")==1){
Log.d("ACTIVITY_TAG", "Yes got the flag");
moveTaskToBack(true);
现在,只要该标志为真,它就会调用活动并将其推送到后台
如果您想在没有用户交互的情况下在屏幕关闭时执行某些操作,请定义一个广播接收器并在那里完成您的工作
public class ScreenOffActionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
...
}
}
并在您的清单文件中定义接收器
<receiver android:name=".ScreenOffActionReceiver">
<intent-filter>
<action android:name="android.intent.ACTION_SCREEN_OFF" />
</intent-filter>
</receiver>