2016-12-01 11 views
0

私のウィジェット(または関連する通知)をタッ​​プすると、そのウィジェットに関連するアイテムのリストを表示するPendingIntentによってアクティビティが開始されます。リストアイテムの1つがタップされている場合、ウィジェットアクティビティは標準アクションインテントを使用してメインアクティビティを起動します。メインアクティビティには、選択したアイテムの詳細が表示されます。Nougatで反応しないウィジェットアクティビティからアクティビティを起動

これはAndroid 6.x Marshmallowで完全に機能しましたが、Android 7(Nougat)では起動されたメインアクティビティが表示されますが、UI全体が完全に反応しません。ボタン、スクロール、スワイプ表示:何もしません!応答する唯一のことは、ウィジェットアクティビティのリストに期待どおりに戻るシステムの「戻る」ボタンです。

これを引き起こす原因となったヌガーの変化は何ですか?私のビルドターゲットは23です。メインアクティビティを起動する他の方法はうまくいきますが、これまでのAndroidバージョンではすべてが動作します。メインアクティビティが開始されるコードを次に示します。

 String uri = "file://" + mPrefs.getDbPath(); 
     Intent intent = new Intent(Intent.ACTION_VIEW); 
     intent.setDataAndType(Uri.parse(uri), "application/octet-stream"); 
     int indId = otdEvt.mId[0] > 0 ? otdEvt.mId[0] : otdEvt.mId[1]; 
     intent.putExtra(EXTRA_LAUNCH_ID, indId); 
     intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

     try { 
      startActivity(intent); 
     } 
     catch (ActivityNotFoundException e) { 
      Toast.makeText(mCtx, getString(R.string.launch_err), Toast.LENGTH_SHORT).show(); 
     } 

FLAG_ACTIVITY_NEW_TASKの有無には違いはありません。

新しい情報:また、FLAG_ACTIVITY_CLEAR_TASKも含めると、起動されたメインアクティビティは期待通りに機能します。しかし、これは容認できる解決策ではありません。なぜなら、戻るボタンを押すとアイテムのリストを表示するウィジェットアクティビティではなくホームスクリーンに戻ります。ビルドターゲットとライブラリをレベル24にアップデートしました。これはデバイスが動作しているものです。

+0

「日常のドライバ」としてAndroid 7.0搭載のNexus 5Xがあります。アプリウィジェットは問題なくその上で活動を開始します。テスト環境とは何ですか(どのハードウェアやエミュレータを使用していますか)。 – CommonsWare

+0

私の5xを使用しています。ウィジェット自体がリスト表示アクティビティを正しく起動します。それは、その活動が壊れた別の活動を開始するときです。 – gordonwd

答えて

0

Mea culpa。徹底した(疲れた)デバッグの後、私は間違いを見つけました。ここで説明するのは難しいだろうが、実行時間を最適化しようとしている間にAndroid 2.3でやったことだった。とにかく、私はいくつかの常識ルールを破って、いくつかのショートカットを取り、単純に立ち去っていた数年間それと一緒に。それは簡単に修正され、すべて私のデバイスと同じ問題を報告した顧客の両方で今働いています。

関連する問題