Android 申请权限

    xiaoxiao2021-03-25  128

    private static void checkPermissions(final Activity activity) { try { ClassLoader classLoader = activity.getClassLoader(); classLoader.loadClass("android.support.v4.app.ActivityCompat"); classLoader.loadClass("android.support.v4.content.ContextCompat"); Context applicationContext = activity.getApplicationContext(); PackageManager packageManager = applicationContext.getPackageManager(); PackageInfo packageInfo = packageManager.getPackageInfo( applicationContext.getPackageName(), PackageManager.GET_PERMISSIONS); String[] requirePermissions = packageInfo.requestedPermissions; final ArrayList<String> deniedPermissions = new ArrayList<>(requirePermissions.length); for (String permission : requirePermissions) { if (ContextCompat.checkSelfPermission(activity, permission) == PackageManager.PERMISSION_DENIED) { deniedPermissions.add(permission); } else { // do anything!!! } } if (deniedPermissions.size() > 0) { activity.runOnUiThread(new Runnable() { @Override public void run() { String[] requestPermissions = new String[deniedPermissions.size()]; requestPermissions = deniedPermissions.toArray(requestPermissions); ActivityCompat.requestPermissions(activity, requestPermissions, PERMISSIONS_REQUEST_CODE); } }); } } catch (ClassNotFoundException e) { //Android Support v4 Library is require,Please //use 23 or higher e.printStackTrace(); } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } catch (NoSuchMethodError error) { //Android Support v4 Library version too low, //Please upgrade 23 or higher error.printStackTrace(); } }
    转载请注明原文地址: https://ju.6miu.com/read-5399.html

    最新回复(0)