本文摘自某作者,仅作为笔记Android  7.0 文件读  1、动态申请读写权限       @TargetApi(23)    public static boolean checkPermission(AppCompatActivity activity) {        boolean isGranted = true;        if (android.os.Build.VERSION.SDK_INT >= 23) {            if (activity.checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PERMISSION_GRANTED) {                //如果没有写sd卡权限                isGranted = false;            }            if (activity.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) != PERMISSION_GRANTED) {                isGranted = false;            }            if (activity.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PERMISSION_GRANTED) {                isGranted = false;            }            if (activity.checkSelfPermission(Manifest.permission.CALL_PHONE) != PERMISSION_GRANTED) {                isGranted = false;            }            if (!isGranted) {                activity.requestPermissions(                    new String[]{Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission                        .ACCESS_FINE_LOCATION,                        Manifest.permission.READ_EXTERNAL_STORAGE,                        Manifest.permission.WRITE_EXTERNAL_STORAGE,                        Manifest.permission.READ_PHONE_STATE,                        Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS,                        Manifest.permission.VIBRATE,                        Manifest.permission.RECORD_AUDIO,                        Manifest.permission.CALL_PHONE,                        Manifest.permission.CAMERA},                    102);            }        }        return isGranted;    }        2、使用 FileProvider  设置存储路径,可兼容7.0以上        附:FileProvider  使用   https://blog.csdn.net/lmj623565791/article/details/72859156            Android 8.0   安装apk           需要手动配置 安装权限           1、静态配置        2、动态检查权限        /*     *     * 判断是否是8.0,8.0需要处理未知应用来源权限问题,否则直接安装     */    private void checkIsAndroidO() {        if (Build.VERSION.SDK_INT >= 26) {            boolean b = getPackageManager().canRequestPackageInstalls();            if (b) {                mMainPresenter.installApk();            } else {                //请求安装未知应用来源的权限                ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.REQUEST_INSTALL_PACKAGES},INSTALL_PACKAGES_REQUEST_CODE);            }        } else {            mMainPresenter.installApk();        }    }            /**     * 申请权限回调     */    @Override    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {        super.onRequestPermissionsResult(requestCode, permissions, grantResults);        switch (requestCode) {            case INSTALL_PACKAGES_REQUEST_CODE:                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {                    mMainPresenter.installApk();                } else {                    //  引导用户手动开启安装权限                    Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);                    startActivityForResult(intent, GET_UNKNOWN_APP_SOURCES);                }                break;                default:                    break;        }    }

更多相关文章

  1. [Android]Android中的Application类
  2. Android(安卓)无需申请key直接调用微信/QQ/微博分享
  3. Android(安卓)Snippet
  4. android重新安装系统应用
  5. Android(安卓)动态生成布局的方式摘要
  6. Android(安卓)WebRTC开发环境设置
  7. 曾经的笔记——android的学习笔记(布局和电话、短信权限)
  8. Android(安卓)向用户申请权限-适配的PermissionsDispatcher简单
  9. Android(安卓)获取当前系统输入法和修改系统输入法

随机推荐

  1. 开机自启动3
  2. android 读取联系人
  3. 2.4.11 网格视图和图像切换器
  4. android编译时添加库第三方库文件
  5. 2.4.10 可展开的列表组件
  6. android 蓝牙
  7. 代码中设置drawableright
  8. android 获取系统硬件信息
  9. Android(安卓)实现文件的下载
  10. 学习Android动画小结