5

ランチャー スタイルのアプリがあります。ユーザーがアプリを起動すると、時計がカチカチ音をたて始め、一定の時間が経過すると、ユーザーはアプリのメイン アクティビティに戻り、時間切れであることが通知されます。

これを達成するために、doInBackground が経過時間を定期的にチェックする AsyncTask を用意しています (この部分は正常に動作します)。それで:

    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        Intent intent = new Intent(getApplicationContext(), HomeScreenMain.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
        startActivity(intent);
    }

これに関する唯一の問題は、適切なアクティビティが開始されていることを前提としていますが、アプリがバックグラウンドに保持されることです。だから私の質問は、時間が経過したときに、このアクティビティを開始するだけでなく、ユーザーがアプリ内から起動した可能性のあるアプリの上にそれをフォアグラウンドに移動するにはどうすればよいですか?

4

1 に答える 1

0

元のコードを次のものに置き換えます。

protected void onPostExecute(String s) {
    super.onPostExecute(s);
    Intent intent = new Intent();
    intent.setClass(HomeScreenMain.this, HomeScreenMain.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    getApplicationContext().startActivity(intent);
}

トリックをしました。

于 2013-09-23T17:21:46.663 に答える