2016-10-26 11 views
0

は、だから、私はAndroidのMの前に作​​られたこのアプリは、アプリが(アプリ内で使用してカスタムカメラ)permissionsなどCameraなどがあり、外部記憶装置からWrite & ReadSystem Alertpermission私はアプリをインストールし出てきていますアンドロイド6.0を持っている私の携帯電話には、アプリは正常に何も制限なく実行することができました。私はカメラを使用することができました。&にファイルを保存し、WindowManager APIを使用してカスタムビューを表示します。
アプリの対象SDKがAndroidロリポップであることに注意してください。奇妙な挙動は

私の質問:これも可能ですか? OSは、Mより小さいターゲットSDKを持つアプリケーションをパーミッションを要求せずに完璧に動かせるようにしましたか?これが実際にAndroid開発者が実装するデフォルトの動作であれば?

P.S:特定された質問は、私の質問には実際には当てはまりません。私はそれらの間に全く類似点は見ません。

+1

23以下のTargetVersionで動作しない[Marshmallow Permissions]の重複の可能性あり(http://stackoverflow.com/questions/33232865/marshmallow-permissions-not-working-for-targetversion-below-23) –

+0

@R.Zagórski私の質問は明らかにそれを求めていません。なぜ私のアクセス許可がAPI> = Mで動作しているのかを、アクセス権を要求せずに尋ねています。 – k0sh

+1

"アプリのターゲットSDKはアンドロイドロリポップ" - >つまりManrshmallowの下にあるので、大文字と小文字は同じです。質問は異なりますが、大文字と小文字は同じで、回答はあなたに適しています。 –

答えて

2

はい、可能です。しかし、それはあなたに大きな問題を与えることができます。ユーザーが何らかのパーミッションを無効にすると、そのパーミッションはもはや利用できないので、アプリは簡単に破棄されます。 OSはユーザーに "このアプリケーションは以前のアンドロイド版用に開発されたもので、この許可を無効にするとアプリケーションが予期せず終了する可能性があります"と尋ねる。あなたのアプリをコンパイルするために使用しているアンドロイドバージョンは、ユーザーが確認する必要がある許可の前にあるため、これは正常な動作です。

https://inthecheesefactory.com/blog/things-you-need-to-know-about-android-m-permission-developer-edition/en

このリンクは、あなたの質問について今に必要なすべてを説明しています。

+0

ありがとう、私はそれを受け入れるコメントで提供された答えであなたの質問を編集しました。ありがとう。 – k0sh

2

はい、あなたのアプリが23未満の場合は、M以上の権限を要求せずに(インストール時に尋ねられます)、M以上で動作します。

しかし、ユーザーが許可を取り消すと、アプリがクラッシュします。これは、新しいPermissions APIをサポートしていない古いアプリケーションとの下位互換性を得るためにGoogleによって作られたものです。

詳しくはhereをご覧ください。デバイスは、Android 5.1以下を実行している、またはあなたのアプリのターゲット SDKが22以下の場合

:あなたの マニフェストで危険な権限を一覧表示する場合は、ユーザーがしなければならない。ここ は、そのページからの引用です アプリをインストールするときに許可を与えます。彼らが許可を与えない場合、システムはアプリケーションを全くインストールしません。

+0

その理由は、下位互換性です。ありがとう。 – k0sh