2011-07-13 53 views
1

私はAndroidアプリで非常に奇妙な動作をしています。ウィジェットからアクティビティを起動すると、最初にアプリが同じアクティビティを起動しなくなります

私はアプリケーションを起動して(アイコンをクリックして)、startActivity(Intent)でアクティビティを開始するとうまく動作します。ウィジェットを追加してそれをクリックして同じ目的をsetOnClickPendingIntent()で起動すると、うまく動作します。

ここで、アプリケーションが閉じる(つまりホーム画面に戻る)まで戻るボタンを押してウィジェットをタップすると、アクティビティはOKと表示されます。しかし、アプリ内から同じアクティビティ/インテントを開始しようとすると、もう動作しません。アクティビティが開始されず、同じ画面に残ります。私はコードをデバッグし、startActivity(Intent)メソッドはまったく同じように呼び出されます(まったく同じコードが実行されています)。

私がホーム画面に戻り、アプリをもう一度起動すると(アイコンをクリックすると)すべて正常に戻ります。

問題の原因となる考え方。

携帯電話はAndroid 2.3.3です。アプリはAndroid 2.1-update1(APIレベル7)に対して構築されています。

+0

P.S.ログにエラーはありません。 pid 5840 から "07-13 17:19:44.371:INFO/ActivityManager(108):開始:インテント{act = xyNEWS_DETAIL flg = 0x10000000 cmp = xy/.activity.NewsDetail(補足あり)}を出力します。何も起こらない。 – AngraX

答えて

1

問題が何かを発見しました。

ウィジェットは、フラグを設定してインテントを起動していました。intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);私のリストビュー・アクティビティで

、私はその活動の歴史にすでにあるときにFLAG_ACTIVITY_NEW_TASKとの活動を要求すると、表示することを防止する、いくつかの理由の意図

Intent intent = new Intent("x.y.NEWS_DETAIL"); 
intent.putExtra(NewsConstants.ISSUE_ID, newsId); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
getApplicationContext().startActivity(intent); 

を起動するために、同じフラグを使用していました。私の代わりに、アプリケーション・コンテキストのフラグを削除し、現在のコンテキストからの意図を起動して、コードを固定:

Intent intent = new Intent("x.y.NEWS_DETAIL"); 
intent.putExtra(NewsConstants.ISSUE_ID, newsId); 
startActivity(intent); 

それがあるべきならば、私は今、PendingIntentでそのフラグの効果は何を見つける必要があるとウィジェットで使用されているかどうか。

関連する問題