android.permission.SYSTEM_ALERT_WINDOW
を設定してアプリ内にオーバーレイを表示しています。
この度、Android8に対応するためtargetSdkVersionを19から26へ変更したところ、アプリ権限の他のアプリの上に重ねて表示できるようにする
が不可
になってしまいオーバーレイが表示できなくなってしまいました。
APIレベル23の仕様変更でSettings.canDrawOverlays
でオーバーレイが可能かチェックして、false
なら設定アプリへ遷移してユーザーに許可してもらう必要があることは理解しています。
しかし、ユーザーに対して設定を必須とはしたくなく、あくまでデフォルトはオーバーレイがONでユーザーが意図的に不可にした場合は表示されないという動作にしたいです。
調べたところPlayストアからインストールした場合は、自動的に他のアプリの上に重ねて表示できるようにする
が可
の状態になるという情報があり、実際にFacebookやTwitterのアプリではインストールして起動する前に既に可
となるのを確認しました。
https://stackoverflow.com/a/36019034/10672355
そこで、android.permission.SYSTEM_ALERT_WINDOW
を設定する以外に特に変更を加えること無くアプリをリリースしましたが、Playストアからインストールした場合でも他のアプリの上に重ねて表示できるようにする
が不可
のままで手動で設定を変更するまでオーバーレイが表示されませんでした。
自動的に他のアプリの上に重ねて表示できるようにする
を可
にするには何か設定が必要でしょうか?
あなたの回答
tips
プレビュー