0

我有一个 android 应用程序,我在 SCREEN_OFF 上执行一个功能。现在,当我再次 SCREEN_ON 时,我看到我的活动再次出现在我不想要的前台。我在 [onCreate] 中也尝试了 [finish()] 方法 [moveTaskToBack(true);] 但都没有奏效。

您可以认为 Facebook 在后台运行服务,但是当我们 SCREEN_ON 时,主屏幕永远不会出现在前台,除非我们不手动打开应用程序。

问候

4

2 回答 2

0

非常感谢奥拉夫的帮助。我可以解决这个问题。我告诉你我是怎么做到的。我在我想放的那个方法中放了一个标志

 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);   
现在,只要该标志为真,它就会调用活动并将其推送到后台

于 2013-01-10T07:27:00.433 回答
0

如果您想在没有用户交互的情况下在屏幕关闭时执行某些操作,请定义一个广播接收器并在那里完成您的工作

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>
于 2013-01-09T08:16:24.367 回答