1

今日私はAndroid M(6.0)以上のアプリケーションをテストしていました。私は、このバージョンでの許可が変更されたことを理解しました。アプリケーションをAndroid 6.0(here is the details)と互換性を持たせるためにいくつか変更する必要があります。Android 6.0の下位互換性

危険な許可であるsdcard(Eternal Storage)を作成するためのアクセスを許可する場合は、ユーザーにアクセスを許可してから、ユーザーの決定(許可/拒否)を処理する必要があります私の要求は常に拒否されます。

私は正しいかどうか分かりませんが、逆の互換性とは何とかしていますか?古いバージョンで動作していたすべてのアプリケーションをバージョン6.0で動作させるために変更する必要がありますか?特別なアプリケーションがもうサポートされていない場合、アンドロイド6.0はここで別れを告げるべきですか?

この新しい雰囲気の中で、私は古いアプリケーションを変更して、マシュマロで実行する必要があります(危険なアクセス許可が必要な場合)。

答えて

1

下位互換性が維持されているようです。あなたがマニフェストに危険な権限を一覧表示する場合は、ユーザーが権限を付与する必要があります。デバイスは、Android 5.1またはそれ以下、または、アプリのターゲットSDKが22以下であるが実行されている場合はthe page you linked

  • から彼らはアプリをインストールするとき。彼らが許可を与えない場合、システムはアプリケーションをまったくインストールしません。
  • デバイスがAndroid 6.0以降を実行している場合、のアプリのターゲットSDKが23以上:アプリがマニフェストに権限をリストする必要があり、アプリケーションの実行中に必要な危険なアクセス権をそれぞれ要求する必要があります。ユーザーは各権限を付与または拒否することができ、ユーザーが権限要求を拒否しても機能は制限されたままアプリケーションを実行し続けることができます。

そのため、古いアプリケーション - SDK 22以下を対象に - インストール時に付与された権限の古い動作が表示されます。 SDK 23以降をターゲットとする新しいアプリだけが、これについて直ちに心配する必要があります。

注:

ページは、あなたが知っておくべきことリスト1警告しは、Android 6.0(APIレベル23)を皮切りに、ユーザーがさえあれば、いつでも任意のアプリからの許可を取り消すことができますアプリは低いAPIレベルをターゲットにしています。アプリケーションがどのAPIレベルをターゲットにしているかにかかわらず、必要な権限が不足しているときに正しく動作するかどうかをテストする必要があります。

これはアプリでも従来のもののための手段は何、彼らはあなたが通常それらを持っていることを期待する権限が不足して生き残ることができる必要があるということです。それに応じてテストし、更新してください。

あなたがインストールしたサードパーティ製のレガシーアプリケーションでは、権限が取り消されたときに注意が必要です。明らかに、サードパーティの開発者はこれをテストして作業する必要がありますが、必ずしもそうなるとは限りません。

+1

私が確認したように、私は手動でアプリケーション設定でアプリケーションに危険な許可をすべて与えることができます。そこには、マニフェストに記載されているすべての危険な許可が表示され、私はそれらに永久的なアクセス権を与えることができます。 – VSB

0

Androidのドキュメントから:Androidのすべてのバージョンで

、あなたのアプリが ノーマルと は、アクセス権の宣言で説明したように、それは、そのアプリのマニフェストに必要と危険な権限の両方を宣言する必要があります。デバイスは、Android 5.1またはそれ以下、または、アプリのターゲット SDKが22以下であるが実行されている場合は

  • :しかし、その 宣言の効果は、システムのバージョンとあなたの アプリのターゲットSDKレベルに応じて異なります。 マニフェストに危険な権限をリストする場合、ユーザーは アプリをインストールする際に許可を与えなければなりません。彼らが許可を与えない場合、システムはアプリケーションを全くインストールしません。
  • デバイスは、Android 6.0以降を実行している、と 、アプリのターゲットSDKは、23以上の場合:アプリはマニフェストに 権限を一覧表示する必要があり、それはアプリがある一方で、それが必要とする各危険 許可を要求しなければなりませんランニング。ユーザーは各アクセス許可を拒否するか 許可することができ、ユーザーはアクセス許可の要求を拒否しても、制限された の機能で引き続き実行できます。

あなたがAndroid 6.0でアプリケーションを実行したいなら、あなたは、実行時に要求権限にロジックを記述する必要があります。
古いバージョンのアプリケーションの動作は変更されません。その場合、インストール時に権限が要求されます。