1. ホーム
  2. android

[解決済み] SYSTEM_ALERT_WINDOW - Android 6.0とtargetSdkVersion 23でこの権限を自動的に取得する方法

2023-02-17 20:18:36

質問

Facebook、Evernote、Pocket など、Android 6.0 ではすべてのアプリが 23 をターゲットにしているにもかかわらず、この権限を自動的に取得します ( targetSdkVersion=23 ).

新しい Marshmallow の権限モデルに関して、多くの文書が作成されています。そのうちの 1 つは SYSTEM_ALERT_WINDOW は「危険の上」のパーミッション クラスに「昇格」されたため、アプリにこれらを付与するために特別なユーザーの介入が必要になりました。もしアプリが targetSdkVersion 22 以下である場合、アプリはこの権限を自動的に取得します (マニフェストで要求されている場合)。

の設定ページにユーザーを移動させることなく、この権限を取得するアプリがあることに気づきました。 Draw over other apps パーミッションの設定ページにユーザーを送る必要はありません。私は、Facebook、Evernote、Pocket を見ました - そしておそらくもっとあります。

どのようにしたら、ユーザーが Settings -> Apps -> Draw over other apps ?

ありがとうございます。

どのように解決するのですか?

Marshmallow で導入された新しい動作です。 6.0.1 .

を要求するすべてのアプリは SYSTEM_ALERT_WINDOW パーミッションを要求し、Play Store を通じてインストールされるすべてのアプリ (バージョン 6.0.5 以上が必要です)、自動的に許可されます。

代わりに、アプリがサイドロードされた場合、許可は自動的に付与されません。Evernote の APK は、次の URL からダウンロードしてインストールすることができます。 apkmirror.com . ご覧のように、手動で Settings -> Apps -> Draw over other apps .

以下がそのコミットです。 [1] [2] の自動付与をPlayストアに許可するものです。 SYSTEM_ALERT_WINDOW パーミッションの自動付与を許可します。