アプリをインストールした後にユーザーに許可を求めます。Androidでランタイムパーミッションをうまく適用するには?
現在のAPI(7.0)からAPIレベル19(4.4)への実行時アクセス権を要求することはできますか?
私はドキュメントを読みましたが、多くの例を試しました。 すべてが複雑すぎるように見えますし、プラグインが権限を要求するのを見たこともあります。
ドキュメントは、いくつかのNuGetパッケージをusign例を提供します。 https://developer.xamarin.com/samples/monodroid/android-m/RuntimePermissions/
しかし、それは上記のみのAndroid M(6.0 APIレベル23)で動作します...
それについてのこの記事会談: https://blog.xamarin.com/requesting-runtime-permissions-in-android-marshmallow/
:は例えば、私の場合、私はアプリが「許可CAMERA」を持っていない場合は、ユーザーのためにこのような何かを求めるかどうかを確認したいです
if (Android.Support.V4.Content.ContextCompat.CheckSelfPermission(this, Manifest.Permission.Camera) != (int)Permission.Granted) {
// Permission has never been accepted
// So, I ask the user for permission
ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.Camera }, REQUEST_CAMERA);
} else {
// Permission has already been accepted previously
}
何も表示せずにアプリケーションが開きます。 チェックは機能しますが、 "RequestPermissions"はユーザーに何も質問しません。
- 何も表示しないでください。
- Mより前のバージョンでも動作しないのであれば、なぜ "ActivityCompat"を使用する必要がありますか?
は、誰も私(Mより前のバージョンとの互換性)簡単なコードからランタイム許可を要求する例を与えることができますか?
誰も回答していないので、コード例を与えることはできませんが、少なくともバックグラウンドはありません。 Mより前のバージョンのデバイスでは、ユーザーは権限を取り消すことができません。これらはインストール時に自動的に付与されます。したがって、 'ContextCompat.CheckSelfPermission()'は常にtrueを返します。残念ながら、たとえユーザーが権限を取り消したとしても、targetSDK
0X0nosugar
私はこの回答をhttp: /stackoverflow.com/questions/40116612/android-6-0-1-permission-issue-wifimanager-getscanresults-returns-0/40116740?noredirect=1#comment67542054_40116740 and http://stackoverflow.com/questions/36027167/android -run-time-permissions-in-android-6-0-api-level-23-best-practices –