Android M权限请求

来源:互联网 发布:心理变态 知乎 编辑:程序博客网 时间:2024/04/28 17:41
       private void checkPermission() {
        int readExtStorage = checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE);
        int writeExtStorage = checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
        int mediaExtStorage = checkSelfPermission(Manifest.permission.WRITE_MEDIA_STORAGE);
        int phoneExtStorage = checkSelfPermission(Manifest.permission.READ_PHONE_STATE);
        List<String> mPermissionStrings = new ArrayList<String>();
        boolean mRequest = false;


//        if (readExtStorage != PackageManager.PERMISSION_GRANTED) {
//            mPermissionStrings.add(Manifest.permission.READ_EXTERNAL_STORAGE);
//            mRequest = true;
//        }
        if (writeExtStorage != PackageManager.PERMISSION_GRANTED) {
            mPermissionStrings.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
            mRequest = true;
        }
//        if (mediaExtStorage != PackageManager.PERMISSION_GRANTED) {
//            mPermissionStrings.add(Manifest.permission.WRITE_MEDIA_STORAGE);
//            mRequest = true;
//        }
//        if (phoneExtStorage != PackageManager.PERMISSION_GRANTED) {
//            mPermissionStrings.add(Manifest.permission.READ_PHONE_STATE);
//            mRequest = true;
//        }
        if (mRequest == true) {
           String[] mPermissionList = new String[mPermissionStrings.size()];
            mPermissionList = mPermissionStrings.toArray(mPermissionList);
            requestPermissions(mPermissionList, PERMISSION_REQUEST_CODE_RECORDING);
            return;
        }

    }


    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        boolean granted = true;
        boolean mShowPermission = true;
        if (requestCode == PERMISSION_REQUEST_CODE_RECORDING) {
            final ActionBar bar = getActionBar();
            mTabsAdapter = new TabsAdapter(this, mViewPager);
            mTabsAdapter.addTab(bar.newTab().setIcon(getResources().getDrawable(R.drawable.tab_category))
                                            .setText(getResources().getText(R.string.tab_category)),
                    FileCategoryFragment.class, null);
            mTabsAdapter.addTab(bar.newTab().setIcon(getResources().getDrawable(R.drawable.tab_file))
                                            .setText(getResources().getText(R.string.tab_file)),
                    FileViewFragment.class, null);
            mTabsAdapter.addTab(bar.newTab().setIcon(getResources().getDrawable(R.drawable.tab_remote))
                                            .setText(getResources().getText(R.string.tab_remote)),
                    ServerControlFragment.class, null);
        } 
    }

0 0