私のウィジェット(または関連する通知)をタップすると、そのウィジェットに関連するアイテムのリストを表示する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にアップデートしました。これはデバイスが動作しているものです。
「日常のドライバ」としてAndroid 7.0搭載のNexus 5Xがあります。アプリウィジェットは問題なくその上で活動を開始します。テスト環境とは何ですか(どのハードウェアやエミュレータを使用していますか)。 – CommonsWare
私の5xを使用しています。ウィジェット自体がリスト表示アクティビティを正しく起動します。それは、その活動が壊れた別の活動を開始するときです。 – gordonwd