1

2つのアプリケーションがあります。1 つはレシーバーで、アプリケーションを開始します。それは正常に動作します。今、私は自分のアプリケーションを受信機自体から破壊したいと思っています。それは可能ですか?これらは私自身のアプリケーションであることに注意してください

4

2 に答える 2

2

可能ですが、アクティビティはメソッドを使用して終了する必要がありfinish()ます。

アクティビティを使用して受信者にアクティビティを登録し、アクティビティでregisterReceiver(..)ロジックを処理できます。unregisterReceiver(...)OnDestroy の内部を忘れないでください。

例:

BroadcastReceiver mReceiver;

@Overrride
public void onCreate(Bundle savedInstanceState){

  IntentFilter filter = new IntentFilter();
  filter.addAction(...);

  mReceiver= new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
      // implement logic
      finish();
    }
  }
  registerReceiver(mReceiver, filter);

}
于 2012-07-12T06:56:49.807 に答える
0

you cant directly control the lifecycle of one activity from another actvity alternates to this could be :

  • you can set a timer in the new activity, if you want to end it after a certain amount of time, and call finish()' inrun()`
  • you can finish() the new activity on some events with EventListeners
于 2012-07-12T06:50:02.413 に答える