私は、アクティビティonReceiveを起動する放送受信機を持っています。Android - 放送受信機がsingletaskを起動するアクティビティ
このアクティビティを起動すると、長いタスクが実行され、最後にfinish()が呼び出されます。
以前のアクティビティがまだ長いタスクを実行しているときに、別のアクティビティの起動をトリガーしたくありません。どのように私はsingletaskアクティビティだけを起動できますか?私はマニフェストにこれを設定しました。私のonReceive方法で
android:launchMode="singleTask"
、
public void onReceive(Context context, Intent intent) {
Intent activity = new Intent(context, Preview.class);
activity.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(activity);
}
が動作しているようですしないでください。
実際には、アクティビティクラスはビデオクリップを記録する(たとえば10秒)MediaRecorderです。したがって、私はこの録音がまだ不完全な間に別のアクティビティをトリガーしたくありません。
申し訳ありません。私はこれを試みた。それは動作していません。 Timが上で述べたようにブール値を使う! – humansg