アクティビティグループのアラームダイアログ付きのアラームマネージャを実装しようとしています。アプリケーションの内外からアラームダイアログを一時停止することで、スケジュールされたアクティビティに正常に入ることができます。アクティビティの代わりにアクティビティグループがスケジュールされている場合、アラームダイアログの一時停止時にアクティビティグループに入ることができませんでした(アプリケーション内ではアラームダイアログの一時停止時にアクティビティグループに入ることができますが、アプリの外部ではできません。 )。
サンプルコードは次のとおりです。
public static ActivityGroup group;
public static void switchPendingActivity(Class<?> destClass)
{
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClass(group, destClass);
View view = group.getLocalActivityManager().startActivity(destClass.getSimpleName(),intent).getDecorView();
group.setContentView(view);
}
getLocalActivityManager().startActivity()
インテントのフラグがインテントのbyである場合FLAG_ACTIVITY_NEW_TASK
、アクティビティグループを開始しましたsetFlags
。上記のコードを実行した後でも、アクティビティグループは前面に表示されませんでした。(コードのデバッグ中に、アクティビティグループがフォアグラウンドに到達していないことを確認しましたが、onCreate()で呼び出されるアクティビティグループのアクティビティのテーブルの描画などの内部関数の一部が実行されます。)
したがって、アラームダイアログの一時停止時にアクティビティグループ内のアクティビティをスケジュールするために適切に機能するために、上記のコードに更新が必要かどうかはわかりません。上記の問題の解決にご協力ください。
私の問題はアラームを一時停止していません。アラームマネージャスケジューラを介してアクティビティグループに参加したい。アラームマネージャのスケジュールが期限切れになった後、アクティビティグループがフォアグラウンドになるはずですが、発生することはありません(ただし、アクティビティグループのアクティビティのonCreateの関数が実行されます)。上記のシナリオは、アプリから出た場合にのみ発生します。アプリの内外を問わず、アラームダイアログが表示されます。アラームダイアログの[OK]ボタンをクリックすると、アクティビティグループのアクティビティに入る必要がありますが、発生しません。上記のシナリオを解決する方法。