0

私はバックグラウンドで電話の起動時に開始するサービスを持っており、ユーザーが選択した場合にメインアクティビティによって作成されたfragmentActivityクラスに移動できるダイアログ(サーバーのポーリング)を表示します。

問題は、起動時にサービスは実行されているがメインアクティビティが実行されていないことです。そのため、フラグメントのインテントを起動すると、メインアクティビティがロードされていないためにクラッシュします。

フラグメントをロードするためにメインアクティビティをロードする正しい方法は何ですか?

起動時にロードしてバックグラウンドに戻すことはできますが、起動時と終了時にアプリをロードすると粘着性があります。

または、フラグメントの前にメインアクティビティを呼び出すインテントを呼び出すこともできますが、フラグメントをロードする前にメインアクティビティのロードが完了したことを確認するためにThread.sleep()を実行する必要があるため、これも厄介に見えます。

私のすべてのアクティビティはすでに他の何か(サービス、アクティビティなど)に拡張されているため、Thread.sleep()を実行しないようにブロードキャストレシーバーを拡張することはできないと思います。

ありがとうございました。

4

1 に答える 1

1

フラグメントではなく、アクティビティのインテントを起動する必要があります。

于 2012-11-29T23:49:55.887 に答える