0

SCREEN_OFFで1つの機能を実行しているAndroidアプリケーションがあります。再び 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 に答える