申し訳ありませんがBroadcastReceiver
、アクティビティのライフサイクルと s を混在させると、脳に多くのエラーや誤動作が発生します。頭が止まったので助けが必要です。私の質問は簡単です。
BroadcastReceiver
アクティビティ進行メソッドを検出するクラスを持つ方法はありonPause()
ますか? はいの場合、そのクラスはどのようになりますか?
申し訳ありませんがBroadcastReceiver
、アクティビティのライフサイクルと s を混在させると、脳に多くのエラーや誤動作が発生します。頭が止まったので助けが必要です。私の質問は簡単です。
BroadcastReceiver
アクティビティ進行メソッドを検出するクラスを持つ方法はありonPause()
ますか? はいの場合、そのクラスはどのようになりますか?
私があなたの活動でそれを考えることができる唯一のことは、あなたの受信者の1人が意図するコスチュームブロードキャストを送信することです.
例えば:
アクション:
public static final String CUSTOM_INTENT = "example.com.intent.action.ActivityGoingOnPause";
一時停止中のアクティビティ:
protected void onPause() {
Intent i = new Intent();
i.setAction(CUSTOM_INTENT);
context.sendBroadcast(i);
}
マニフェスト:
<receiver android:name=".YourReceiver" android:enabled="true">
<intent-filter>
<action android:name="example.com.intent.action.ActivityGoingOnPause"></action>
</intent-filter>
</receiver>
レシーバー:
public class YourReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(YourActivity.CUSTOM_INTENT)) {
//do your thing
}
}
}
お役に立てれば
onPause に isActivityPaused のようなグローバル変数を設定し、アクティビティの onResume で設定を解除してから、その変数を確認して、ブロードキャストを送信するかどうかを決定します。