アンドリュースダイナミックアクセス要求
Androidの開発では、我々はいくつかの権利は、我々はアンドロイド6.0の後に、これらの権限を使用する際、ユーザーにダイナミックに適用する必要があることがある一方で、許可を申請したManifest.xml文書内のいくつかの権威を書くことができます。
具体的な分類はここを参照してください:
動的にする必要があるもののために適用する許可のためのAndroidアプリケーションを
現在のコードでも許可を適用する方法を見てみましょう。
if(ContextCompat.checkSelfPermission(this, Manifest.permission.${PermissionnName})!=PackageManager.PERMISSION_GRANTED)
{
//判断用户是否拒绝过这个权限,提示用户手动去设置中给予我们的APP相关权限
if(ActivityCompat.shouldShowRequestPermissionRationale(this,Manifest.permission.${PermissionnName}))
{
}
else
{
//申请这个权限
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},MY_PERMISSION_REQUEST_CODE);
}
}
コード$以上の権限名{} PermissionnName代表が適用する、オンデマンドで置き換えることができます
その後、我々はまた、APPは、モニターに必要かどうかをユーザーに許可を与える必要があり、私たちは中アンドリュースでこれを行うことができますコールバック関数があります:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode)
{
case MY_PERMISSION_REQUEST_CODE:
{
if (grantResults.length>0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
{
//用户允许了权限
}
else
{
//用户拒绝了权限
}
break;
}
}
}
これは、することができ、独自のビジネス・ロジックを、動的な権限を付与する工程です。