tiempo studio solicitar services play permisos google ejecución durante developer cómo checkselfpermission checkpermission android android-6.0-marshmallow

android - studio - ¿Está disponible para establecer checkSelfPermission en un SDK mínimo<23?



google api android developer (5)

En caso de que no desee utilizar AppCompatActivity, la forma se describe aquí https://codemammoth.blogspot.gr/2016/06/how-to-invoke-checkselfpermission.html

Tienes que invocar los métodos :)

Los nuevos permisos de tiempo de ejecución en Android-M requieren un nivel mínimo de API de 23, pero todavía necesito un nivel mínimo de 16 API en mi proyecto

Entonces, ¿cómo hacer que este código sea más compatible con el futuro?

Saludos


Puede verificar la versión de compilación if(Build.Version.SDK_INT >= Build.VERSION_CODES.MARSHMALLOW) . Y luego manejar los permisos de malvavisco allí, y manejar las otras versiones de lo contrario.


Solo revisa tu versión de Android antes de obtener el permiso de verificación:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) { // TODO: Consider calling // public void requestPermissions(@NonNull String[] permissions, int requestCode) // here to request the missing permissions, and then overriding // public void onRequestPermissionsResult(int requestCode, String[] permissions, // int[] grantResults) // to handle the case where the user grants the permission. See the documentation // for Activity#requestPermissions for more details. return; } }else{ //Do Your Stuff }


checkSelfPermission está disponible arriba del SDK 23.

Podemos comprobar si el permiso está disponible o no usar el gestor de paquetes.

public static Boolean checkpermissions(Activity activity) { PackageManager mPackageManager = activity.getPackageManager(); int hasPermStorage = mPackageManager.checkPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE, activity.getPackageName()); if (hasPermStorage != PackageManager.PERMISSION_GRANTED) { // do stuff //Toast.makeText(getApplicationContext(), "No permission", Toast.LENGTH_LONG).show(); return false; } else if (hasPermStorage == PackageManager.PERMISSION_GRANTED) { // do stuff //Toast.makeText(getApplicationContext(), "Has permission", Toast.LENGTH_LONG).show(); return true; }else return false; }