Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Abrir configuración de permisos de aplicación

Con respecto a los permisos granulares en Android M.

En caso de que el usuario niegue el doble de la solicitud de permiso,

O que el usuario marque "Nunca vuelva a preguntar".

¿Cómo puedo abrir / enlazar directamente a la configuración de permisos de la aplicación?

  • ¿Cómo puede acceder la aplicación a los archivos de almacenamiento USB OTG en Android 6.0 (API nivel 23) sin root?
  • TextView.getSelectionEnd () devolver el valor del índice de inicio en dispositivos Samsung Marshmallow 6.0
  • Desde que la marshmallow actualiza el descubrimiento Bluetooth usando BluetoothAdapter.getDefaultAdapter (). StartDiscovery (); está roto
  • ¿Cómo manejar las solicitudes de permisos fuera de Actividad y Fragmento?
  • Android 6.0 No se puede agregar WifiConfiguration si ya hay otra WifiConfiguration para ese SSID
  • ¿Cómo utilizar la nueva función de Android M de "Selección de texto" que se ofrece desde fuera de la aplicación?
  • La llamada requiere el nivel 23 de API (el min actual es 14): android.app.Activity # requestPermissions, checkSelfPermission
  • En Android M, ¿cómo configurar las capacidades de "compartir directamente" (imagen, texto) y cómo consultar los elementos?
  • 2 Solutions collect form web for “Abrir configuración de permisos de aplicación”

    Supongamos que en AndroidManifest.xml tiene:

     <uses-permission android:name="android.permission.WRITE_CALENDAR"/> <uses-permission android:name="android.permission.WRITE_CONTACTS"/> <!-- ETC. --> 

    A continuación, como en la siguiente actividad de ejemplo, podemos comprobar los permisos existentes / concedidos y, a continuación, enviar al usuario a la configuración de la aplicación si no tenemos ningún permiso:

     package com.example.permissions.myapplication; import android.Manifest; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.provider.Settings; import android.support.annotation.NonNull; import android.support.v7.app.AppCompatActivity; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private static final int REQUEST_APP_SETTINGS = 168; private static final String[] requiredPermissions = new String[]{ Manifest.permission.WRITE_CALENDAR, Manifest.permission.WRITE_CONTACTS /* ETC.. */ }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /* All version with SDK_INT < 22 grant permissions on install time. */ if (Build.VERSION.SDK_INT > 22 && !hasPermissions(requiredPermissions)) { Toast.makeText(this, "Please grant all permissions", Toast.LENGTH_LONG).show(); goToSettings(); } } private void goToSettings() { Intent myAppSettings = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:" + getPackageName())); myAppSettings.addCategory(Intent.CATEGORY_DEFAULT); myAppSettings.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivityForResult(myAppSettings, REQUEST_APP_SETTINGS); } public boolean hasPermissions(@NonNull String... permissions) { for (String permission : permissions) if (PackageManager.PERMISSION_GRANTED != checkSelfPermission(permission)) return false; return true; } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == REQUEST_APP_SETTINGS) { if (hasPermissions(requiredPermissions)) { Toast.makeText(this, "All permissions granted!", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "Permissions not granted.", Toast.LENGTH_LONG).show(); } } super.onActivityResult(requestCode, resultCode, data); } } 

    Acabo de probarlo en Nexus 6 / AndroidOS 6 (Marshmallow).

    Utilice este código para iniciar la página de configuración del permiso de la aplicación

     Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:" + getPackageName())); intent.addCategory(Intent.CATEGORY_DEFAULT); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.