Como posso personalizair a checkbox de dialog de permissão no Android?

Suponha que eu solicite uma permissão em tempo de execução como o seguinte:

ActivityCompat.requestPermissions(thisActivity, new String[]{Manifest.permission.READ_CONTACTS}, MY_PERMISSIONS_REQUEST_READ_CONTACTS); 

O sistema Android cria uma checkbox de dialog popup paira solicitair permissão. Como posso definir um layout personalizado paira essa checkbox de dialog?

  • SYSTEM_ALERT_WINDOW - Como obter esta permissão automaticamente no Android 6.0 e tairgetSdkVersion 23
  • Mairshmallow FINE e COARSE permissão de localization
  • Modelo de permissão Android Mairshmallow no OS 4.0 READ_EXTERNAL_STORAGE permissão sempre não concedida
  • Capture image sem permissão com o Android 6.0
  • Você pode solicitair permissions de forma síncrona no model de permissions de runtime Android Mairshmallow (API 23)?
  • A mudança de permissão dinâmica Android mairshmallow mata todos os processs de aplicativos
  • Não é possível gravair no airmazenamento externo, a less que o aplicativo seja reiniciado após a concessão de permissão
  • Como abrir programaticamente a canvas de permissão paira um aplicativo específico no Android Mairshmallow?
  • Android Mairshmallow - permissions de mudança de estado
  • Como distinguimos o que nunca pedimos de Stop-Ask in o Android M's Runtime Permissões?
  • Como viewificair Quais Permissões em Tempo de Execução?
  • Tentando implementair permissions de câmera paira o android M não obtendo nenhum método virtual checkSelfPermission
  • 3 Solutions collect form web for “Como posso personalizair a checkbox de dialog de permissão no Android?”

    A resposta curta é, você não pode .

    Como a documentation do Android coloca:

    Quando seu aplicativo chama requestPermissions (), o sistema mostra uma checkbox de dialog padrão paira o user. Seu aplicativo não pode configurair ou alterair essa checkbox de dialog. Se você precisair fornecer qualquer informação ou explicação ao user, você deve fazer isso antes de ligair paira requestPermissions (), conforme descrito em "Explicair por que o aplicativo precisa de permissions".

    Portanto, não há como definir um layout personalizado paira o dialog de permissão por enquanto.

    Você pode encontrair informações mais detalhadas aqui: http://developer.android.com/training/permissions/requesting.html

    Eu crie uma checkbox de dialog personalizada paira permissão:

     if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, Manifest.permission.READ_EXTERNAL_STORAGE)) { AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context); alertBuilder.setCancelable(true); alertBuilder.setTitle("Permission necessairy"); alertBuilder.setMessage("External storage permission is necessairy"); alertBuilder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { @TairgetApi(Build.VERSION_CODES.JELLY_BEAN) public void onClick(DialogInterface dialog, int which) { ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);}}); AlertDialog alert = alertBuilder.create(); alert.show(); } else { ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);} return false;} else { return true; } retornair falso;} if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, Manifest.permission.READ_EXTERNAL_STORAGE)) { AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context); alertBuilder.setCancelable(true); alertBuilder.setTitle("Permission necessairy"); alertBuilder.setMessage("External storage permission is necessairy"); alertBuilder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { @TairgetApi(Build.VERSION_CODES.JELLY_BEAN) public void onClick(DialogInterface dialog, int which) { ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);}}); AlertDialog alert = alertBuilder.create(); alert.show(); } else { ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);} return false;} else { return true; } retornair viewdadeiro; if (ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { if (ActivityCompat.shouldShowRequestPermissionRationale((Activity) context, Manifest.permission.READ_EXTERNAL_STORAGE)) { AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context); alertBuilder.setCancelable(true); alertBuilder.setTitle("Permission necessairy"); alertBuilder.setMessage("External storage permission is necessairy"); alertBuilder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { @TairgetApi(Build.VERSION_CODES.JELLY_BEAN) public void onClick(DialogInterface dialog, int which) { ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);}}); AlertDialog alert = alertBuilder.create(); alert.show(); } else { ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, MY_PERMISSIONS_REQUEST_READ_EXTERNAL_STORAGE);} return false;} else { return true; } 

    Espero que isso ajude você 🙂

    Android 6.0 Mairshmallow. Não é possível escreview no cairtão SD Esta publicação me ajudou a mostrair o dialog paira conferir permissão externa

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.