精华内容
下载资源
问答
  • .setMessage("已禁用权限,请手动授予") .setPositiveButton("设置", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { mPermissionDialog....
    private AlertDialog mPermissionDialog;
        private void showPermissionDialog() {
            if (mPermissionDialog == null) {
                mPermissionDialog = new AlertDialog.Builder(MainActivity.this)
                        .setMessage("已禁用权限,请手动授予")
                        .setPositiveButton("设置", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                mPermissionDialog.cancel();
                                Uri packageURI = Uri.parse("package:" + getPackageName());
                                Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS, packageURI);
                                startActivity(intent);
                            }
                        })
                        .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                mPermissionDialog.cancel();
                            }
                        })
                        .create();
            }
            mPermissionDialog.show();
        }

    展开全文
  • 开启后就可以了,只是后台运行时会被提示后台耗电。哎!总算是找到一种解决办法。不过感觉这东西是不是又跟白名单有关,这就不知道了,喝茶...思考...。 如果有其他好的方法,希望猿友们。能在下面分享一波。接受...

    问题:最近在开发中遇到一个需求,要求应用无论如何都要能在后台上传用户的实时位置。但是在Android8.0 的手机上连上电源可以上传,不连电源,GPS定位小图标一会就没了。然后也就获取不到位置信息, 导致不能上传。在网上搜索了 很久,发现跟多人都遇到了这个问题。但是都无法解决。

     

    原因:Android 8.0系统增加了很多新特性,对位置影响较大的特性就是增强了对后台定位的限制,详细信息请参考:

    https://developer.android.com/about/versions/oreo/background-location-limits.html

    Android 8.0系统为实现降低功耗,无论应用的目标SDK版本为多少,Android 8.0系统都会对后台应用获取用户当前位置的频率进行限制,只允许后台应用每小时接收几次位置更新。

     

    解决:好吧!原来是这个原因,找到了原因得解决啊。 各大地图平台,高德、百度都提供了解决方案,但是我测试了下,有些手机可以,有些手机不可以,我的荣耀的Android8.0就不行。并没有什么作用。后来实在不知道怎么办,既然这个不能代码实现,那就只能退而求其次,祈祷应用管理能有相关的设置了。于是就点进了应用的详情页面。点了每一个能点的地方。还真的发现了,原来在应用详情电池、电量、耗电等相关的设置中。有一个后台活动的开关。开启后就可以了,只是后台运行时会被提示后台耗电。哎!总算是找到一种解决办法。不过感觉这东西是不是又跟白名单有关,这就不知道了,喝茶...思考...。

    如果有其他好的方法,希望猿友们。能在下面分享一波。接受批评指教,谢谢。

    展开全文
  • 已经添加了动态获取权限,其他权限都能够动态获取,只有存储权限不能。并且第一次必须手动打开存储权限才能进入App,否则无法打开。找了很久不知道哪里出现问题
  • 问题:ubuntu系统安装完成后第一次打开会要求手动打开root权限,也就是输入sudo会要求输入root的密码,而安装ubuntu系统时候设置的密码是进入ubuntu的用户密码,所以要手动设置root的密码; 解决:输入命令:su ...

    问题:ubuntu系统安装完成后第一次打开会要求手动打开root权限,也就是输入sudo会要求输入root的密码,而安装ubuntu系统时候设置的密码是进入ubuntu的用户密码,所以要手动设置root的密码;

    解决:输入命令:su passwd    来设置root密码

    展开全文
  • Android手动申请权限

    千次阅读 2018-08-03 10:07:48
    以获得地理位置权限为例 1.添加需要权限 //当Android6.0系统以上时,动态获取权限 private static final String[] PERMISSIONS = new String[]{ Manifest.permission.ACCESS_COARSE_LOCATION, Manifest....

    以获得地理位置权限为例

    1.添加需要权限

    //当Android6.0系统以上时,动态获取权限
    private static final String[] PERMISSIONS = new String[]{
            Manifest.permission.ACCESS_COARSE_LOCATION,
            Manifest.permission.ACCESS_FINE_LOCATION,
            Manifest.permission.INTERNET};

    2.添加标志

    private boolean permissionGranted = true;
    //权限的标志
    private static final int PERMISSION_CODES = 1001;

    3.判断当前版本

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        requestPermission();
    }

    4.手动申请

    /**
     * 动态的进行权限请求
     */
    @TargetApi(Build.VERSION_CODES.M)
    private void requestPermission() {
        List<String> p = new ArrayList<>();
        for (String permission : PERMISSIONS) {
            if (ContextCompat.checkSelfPermission(getContext(), permission) != PackageManager.PERMISSION_GRANTED) {
                p.add(permission);
            }
        }
        if (p.size() > 0) {
            requestPermissions(p.toArray(new String[p.size()]), PERMISSION_CODES);
        }
    }

    5.申请回调

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        switch (requestCode) {
            case PERMISSION_CODES:
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_DENIED) {
                    permissionGranted = false;
                } else {
                    permissionGranted = true;
                }
                break;
        }
    }
    

    2019.01.22修改

    需要的权限在xml中也要写出来,否则不会有弹框

    下面是一个带dialog提示的权限请求

    // 要申请的权限
        private String[] permissions = {Manifest.permission.WRITE_EXTERNAL_STORAGE};
        private AlertDialog dialog;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            // 版本判断。当手机系统大于 23 时,才有必要去判断权限是否获取
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    
                // 检查该权限是否已经获取
                int i = ContextCompat.checkSelfPermission(this, permissions[0]);
                // 权限是否已经 授权 GRANTED---授权  DINIED---拒绝
                if (i != PackageManager.PERMISSION_GRANTED) {
                    // 如果没有授予该权限,就去提示用户请求
                    showDialogTipUserRequestPermission();
                }
            }
        }
    
        // 提示用户该请求权限的弹出框
        private void showDialogTipUserRequestPermission() {
    
            new AlertDialog.Builder(this)
                    .setTitle("存储权限不可用")
                    .setMessage("由于支付宝需要获取存储空间,为你存储个人信息;\n否则,您将无法正常使用支付宝")
                    .setPositiveButton("立即开启", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            startRequestPermission();
                        }
                    })
                    .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            finish();
                        }
                    }).setCancelable(false).show();
        }
    
        // 开始提交请求权限
        private void startRequestPermission() {
            ActivityCompat.requestPermissions(this, permissions, 321);
        }
    
        // 用户权限 申请 的回调方法
        @Override
        public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    
            if (requestCode == 321) {
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                    if (grantResults[0] != PackageManager.PERMISSION_GRANTED) {
                        // 判断用户是否 点击了不再提醒。(检测该权限是否还可以申请)
                        boolean b = shouldShowRequestPermissionRationale(permissions[0]);
                        if (!b) {
                            // 用户还是想用我的 APP 的
                            // 提示用户去应用设置界面手动开启权限
                            showDialogTipUserGoToAppSettting();
                        } else
                            finish();
                    } else {
                        Toast.makeText(this, "权限获取成功", Toast.LENGTH_SHORT).show();
                    }
                }
            }
        }
    
        // 提示用户去应用设置界面手动开启权限
    
        private void showDialogTipUserGoToAppSettting() {
    
            dialog = new AlertDialog.Builder(this)
                    .setTitle("存储权限不可用")
                    .setMessage("请在-应用设置-权限-中,允许支付宝使用存储权限来保存用户数据")
                    .setPositiveButton("立即开启", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            // 跳转到应用设置界面
                            goToAppSetting();
                        }
                    })
                    .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            finish();
                        }
                    }).setCancelable(false).show();
        }
    
        // 跳转到当前应用的设置界面
        private void goToAppSetting() {
            Intent intent = new Intent();
    
            intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
            Uri uri = Uri.fromParts("package", getPackageName(), null);
            intent.setData(uri);
    
            startActivityForResult(intent, 123);
        }
    
        //
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data) {
            super.onActivityResult(requestCode, resultCode, data);
            if (requestCode == 123) {
    
                if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                    // 检查该权限是否已经获取
                    int i = ContextCompat.checkSelfPermission(this, permissions[0]);
                    // 权限是否已经 授权 GRANTED---授权  DINIED---拒绝
                    if (i != PackageManager.PERMISSION_GRANTED) {
                        // 提示用户应该去应用设置界面手动开启权限
                        showDialogTipUserGoToAppSettting();
                    } else {
                        if (dialog != null && dialog.isShowing()) {
                            dialog.dismiss();
                        }
                        Toast.makeText(this, "权限获取成功", Toast.LENGTH_SHORT).show();
                    }
                }
            }
        }
    }
    展开全文
  • //需要打开权限集合 private static String[] permissionlist={ Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.RECORD_AUDIO}; ...
  • 这个问题在8.0系统的手机上不是必现的,这可能和手机厂商的系统处理有关,但是有一点是确定的:Google从Android8.0系统开始,关闭了未知应用安装权限,需要用户手动点开。 第一步:当APK下载完毕之后,正常来说要...
  • 从 Android 6.0开始,新增了动态权限...之前发现的一个问题就是APP开启的时候,去设置中心开启或关闭一下相机权限,APP直接崩溃,崩溃信息提示的都是一些页面的空指针问题。因为我再application里面存了一些临时的数...
  • Intent intent = new Intent(); intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS); Uri uri1 = Uri.fromParts("package", AuthentActivity.this.getPackageName(), null); intent.setData(uri1);...
  • 开启远程访问连接权限(手动安装版本)
  • react native 手动调起相机的权限 需要在 AndroidManifest.xml 里面添加权限 手动访问上代码,ios自动开启权限,只有安卓需要手动开启
  • 这里以小米和魅族作为示例讲解如何让用户手动打开权限,当然了如果是原声的android就让他跳转到应用的详情设置页面(有点坑,因为普通用户还是不知道怎么整)。 参考了很多零零碎碎的东西,网址已经找不到了。。。。。...
  • 这里以小米和魅族作为示例讲解如何让用户手动打开权限,当然了如果是原声的android就让他跳转到应用的详情设置页面(有点坑,因为普通用户还是不知道怎么整,,,)。  参考了很多零零碎碎的东西,网址
  • 理论上手动开启权限也是使用以下的代码进行,因此只有系统应用可以使用。(但不排除某些厂商定制rom的过程中,漏掉了关键的验证,调用只有有可能是可行的) AppOpsManager appOpsManager = mContext....
  • 手动收回应用权限对android app的影响

    千次阅读 2019-05-15 16:49:39
    在android开发中不可避免的要申请一些权限,用户允许之后就可以酣畅淋漓使用我们的app了 可是如果用户在使用app期间,...既然是重启一个新的进程,是不是重新打开下面属性指定的Activity? <intent-filter> ...
  • 权限工具类

    2018-09-27 11:37:25
    封装了非常好用的权限工具类,如果用户第一次拒绝了权限申请,第二次申请时应向用户解释权限用途;如果用户勾选了“不再询问”选项,应引导用户去设置页手动开启权限
  • 楼主的手机是华为P9搭载...查了一早上的资料,终于发现API 23(6.0)以上的手机需要手动去检测读取权限。并不会自动帮你检测,检测后可以确认是否允许应用可获得读写权限。若手机本身不允许该权限,就不会允许你读写数
  • 动态的开启手机权限(获取位置权限)

    千次阅读 2016-12-07 09:34:47
    增加了权限问题,需要用户自己手动开启权限.因此对于一些非开发人员,有的时候对于app的使用过程中会感觉到很困惑.一些功能无法使用.因此需要开发者去判断用户手机是否高于6.0,或者api23,如果高于的话就让用户自己去...
  • MySQL开启远程连接权限

    千次阅读 2017-06-15 15:58:56
    所以需要我们手动开启远程连接的权限。 登录mysql  mysql -u root -p  Enter password: 如果刚安装没有设置密码的话就直接回车 切换到mysql这个数据库 use mysql; 修改root的host为%  update user set host
  • Android判断某个权限是否开启

    万次阅读 2018-03-01 15:20:08
    /** 常用权限(可能不全) **/ // SMS(短信)// SEND_SMS // RECEIVE_SMS // READ_SMS // RECEIVE_WAP_PUSH // RECEIVE_MMS // STORAGE(存储卡-读写权限) // READ_EXTERNAL_STORAGE // WRITE_EXTERNAL_STORA...
  • 这里只需要读写,因此只把读写加入进去,如果需要更多的权限,加入即可。 public class PermisionUtils { // Storage Permissions  private static final int REQUEST_EXTERNAL_STORAGE =1;  private static ...
  • 引导用户开启通知权限

    千次阅读 2018-04-09 11:52:31
    但是在状态栏以及下拉通知栏中都没有消息通知,其实是因为没有开启通知权限,但是坑的是通知权限不像其他网络或sd卡读写权限一样可以去申请,然后在用户同意的情况下,获取到权限,通知权限必须是用户自己手动点开...
  • 首先说一下,在魅族手机上需要用户手动开启权限,不然获取到的cursor.moveToFirst()会返回false,反过来,如果cursor.moveToFirst()返回false,一般都是权限问题,那么如何解决这个问题呢?一般解决方案是弹窗提示,...
  • Android各版本查询和开启悬浮窗权限

    千次阅读 2019-12-26 18:20:21
    如果你是从事Android开发的程序员,那么你肯定对于权限这个词不会陌生,Android的权限分为一般权限和危险权限,一般权限(只需在AndroidManifest.xml文件中声明即可),危险权限(需要手动申请) ,接下来进入正题。...
  • 当新建一个website的时候,一般情况下IIS对相应的物理文件夹的访问权限是不够的。 针对匿名认证(anonymous authentication)需要: 打开文件夹properties-> Security tab -> Edit -> Add... 如果机器在域...
  • IIS写权限漏洞原理&利用工具手动

    千次阅读 2011-01-27 09:28:00
    很老的东西了,严格的说不是漏洞,只是设置不善造成的Bug。... <br />其中用到了IIS写权限利用工具,桂林老兵版的没带身上,网上下到了zwell版的,结果没成功,最后自己动手写了一个手动版的,看来
  • VS2015 设计器要求在其安装到的文件夹上设置特定权限手动提权。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 168,195
精华内容 67,278
关键字:

怎么手动开启权限