ビットで使用される余分の最後のセットでそれを開始します。私は、クリックされたホーム画面のウィジェットを持っているアンドロイド:「最近使ったアプリケーション」から起動するアプリはここに私のために混乱し、問題の意図
、意図に入れて、いくつかのエキストラと私のメインのアプリのアクティビティを開始します。
Intent start = new Intent(context, Main.class);
start.putExtra("action", "showXYZ");
start.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(start);
このすべてが正常に動作し、それは私の活動を開始し、予想通り、私の活動は、エキストラを受けます。これらのエクストラを処理し、別のアクティビティを開始します。
ユーザーがホーム画面ウィジェットをクリックしてこのようにメインアクティビティを開始すると、「最近のアプリケーション」(「ホーム」キーを押したまま)の方法でアプリに入ると、私が望んでいない(そして主なアクティビティが表示されるだけでなく、2番目のアクティビティが開くようになる)処理が発生します。
回避策はありますか? '最近のアプリケーション'の方法からアプリを起動するときは、最後のセットを使わずにメインアクティビティを開始するだけです。
多くのご協力ありがとうございます! r3mo
注:
はここに回避策を発見: Android keeps caching my intents Extras, how to declare a pending intent that keeps fresh extras?
を私はウィジェットではオフに設定されている意図をタイムスタンプするつもりだ、私はアンドロイド1.5
EDITによMain.javaでタイムスタンプが最近チェックされていることを確認してください。もしそうなら、私は処理を進めます。もしそうでなければ、私はMain.javaアクティビティを表示します。
公式の解決策があるかどうか聞いてください。
感謝。私はMain.java(これはウィジェットによって開始されます)でこれを試しましたが、これは何の違いもないようです。これは、ローカル変数「追加」をクリアするだけではないでしょうか?私は問題はAndroidが最後のセットのエクストラを使って「最近のアプリケーション」のアクティビティを開始する方法にあると信じている。 – r3mo