精华内容
下载资源
问答
  • 出现Permission denied的解决办法

    万次阅读 多人点赞 2018-05-08 20:35:16
    提示 Permission denied 解决的办法: $ sudo chmod -R 777 某一目录 其中 -R 是指级联应用到目录里的所有子目录和文件 777 是所有用户都拥有最高权限

    提示

    Permission denied

    解决的办法:

    $ sudo chmod -R 750 某一目录

    其中
    -R 是指级联应用到目录里的所有子目录和文件
    750 表示文件所有者有读、写、执行权限,文件组有读、执行权限,其他用户没有权限

    • 属主:rwx=4+2+1=7。
    • 属组:r-x=4+0+1=5。
    • 其他:---=0+0+0=0

     

    写入、读取和执行权限具有以下数字值:

    • r (读) = 4
    • w (写) = 2
    • x (可执行) = 1
    • 无权限 = 0

    特定用户类的权限数字是该类的权限值之和。

     

    展开全文
  • Android M对应用的授权策略做了变动,如果我们想调用getDeviceId()获取手机串码,只在Manifest里添加android.permission.READ_PHONE_STATE权限是不够的,如果不做权限的动态申请和处理,可能会报如下错误: Android...

    Android M对应用的授权策略做了变动,如果我们想调用getDeviceId()获取手机串码,只在Manifest里添加android.permission.READ_PHONE_STATE权限是不够的,如果不做权限的动态申请和处理,可能会报如下错误:

     AndroidRuntime: java.lang.SecurityException: getDeviceId: Neither user 10201 nor current process has android.permission.READ_PHONE_STATE.
    

    那如何在代码中动态申请权限呢?分四步进行:

    第一步,在Manifest文件中添加权限:

    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    

    第二步, 要获取权限进行操作的Activity实现 ActivityCompat.OnRequestPermissionsResultCallback接口(这一步视情况而定,有的Activity基类已经默认实现了这个接口,比如FragmentActivity,就不用再实现了):

    public class MainActivity extends Activity
            implements ActivityCompat.OnRequestPermissionsResultCallback {
    

    第三步,动态申请权限并做处理:

            int permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE);
    
            if (permissionCheck != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_PHONE_STATE}, REQUEST_READ_PHONE_STATE);
            } else {
                //TODO
            }
    

    其中REQUEST_READ_PHONE_STATE 是自定义的类常量,可以像下面这样在activity中定义:
    public final static int REQUEST_READ_PHONE_STATE = 1;

    第四步, 重写onRequestPermissionsResult()方法,对权限申请结果做处理:

    @Override
    public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
        switch (requestCode) {
            case REQUEST_READ_PHONE_STATE:
                if ((grantResults.length > 0) && (grantResults[0] == PackageManager.PERMISSION_GRANTED)) {
                    //TODO
                }
                break;
    
            default:
                break;
        }
    }
    

    下面对关键方法做一个解释:

    1、检查是否有权限:
    ActivityCompat.checkSelfPermission

    eg:检查是否有读取联系人权限
    ActivityCompat.checkSelfPermission(this,Manifest.permission.READ_CONTACTS)!= PackageManager.PERMISSION_GRANTED

    2、是否重新请求授权(用户之前拒绝过):
    ActivityCompat.shouldShowRequestPermissionRationale(this,Manifest.permission.READ_CONTACTS)
    如果应用之前请求过此权限但用户拒绝了请求,此方法将返回 true,意思是说要给用户一个 解释,告诉用户为什么要这个权限。
    然而,在实际开发中,很多手机对原生系统做了修改,比如小米4的6.0的shouldShowRequestPermissionRationale 就一直返回false,而且在申请权限时,如果用户选择了拒绝,则不会再弹出对话框了。如果是这样,我们可以在回调里面处理,如果用户拒绝了这个权限,则打开本应用信息界面,由用户自己手动开启这个权限。

    3、请求授权:
    ActivityCompat.requestPermissions
    注意的是,调用此方法后,系统会弹出一个权限申请框,供用户选择,这个选择框我们无法更改:
    这里写图片描述

    而且此时activity会调用onPause()方法,用户做了选择之后,此对话框消失,onResume()方法又会执行。

    注:在华为设备上测试,如果用户勾选了“不再询问”的选项的话,shouldShowRequestPermissionRationale会返回false。而且如果再次调用requestPermissions申请权限,就不会有申请框弹出,而是直接返回申请失败。但是activity的生命周期方法的执行顺序和有系统提示框弹出时的顺序是一样的。

    4、搜权结果,通过 ActivityCompat.OnRequestPermissionsResultCallback 回调获取授权结果,判断是否授权。

        @Override
        public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
            if (requestCode == REQUEST_CODE_INFO_OF_PHONE_SETTINGS) {
                if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
    	            L.d("imei", "permission is granted after requested!");
                } else if (grantResults[0] == PackageManager.PERMISSION_DENIED){
    	            L.d("imei", "permission is not granted after requested!");
    	            //这里表示申请权限后被用户拒绝了
                } else {
                    L.d("imei", "permission is not granted after requested!");
                }
            }
        }
    

    关于更多运行时请求权限的问题,可以查看https://developer.android.com/training/permissions/requesting.html
    更详细请看http://mdsa.51cto.com/art/201508/489882_all.htm#topx

    展开全文
  • uses-permissionpermission详解

    千次阅读 2019-08-02 06:50:18
    uses-permission>: 官方描述: If an application needs access to a feature protected by a permission, it must declare that it requires that permission with a <uses-permission> element in.....

    1.<uses-permission>:

    官方描述:

    If an application needs access to a feature protected by a permission, it must declare that it requires that permission with a  <uses-permission>  
    element in the manifest. Then, when the application is installed on the device, the installer determines whether or not to grant the requested 
    permission by checking the authorities that signed the application's certificates and, in some cases, asking the user. If the permission is granted,
    the application is able to use the protected features. If not, its attempts to access those features will simply fail without any notification to the user.
    

    如果一个应用需要访问一个受permission保护的特性,那这个应用必须在 manifest中以 <uses-permission> 节点声明它所需要的权限。当这个应用安装在设备的时候,

    安装器会决定是否授予它所声明的权限,这有时候会询问用户。如果权限被授予了,这个应用才能使用受保护的特性,否则的话, 访问失败并且 不会 通知用户。

    注意:不一定是调用其他应用程序才要声明 <uses-permission> ,有时甚至调用自己应用的程序的组件都要声明!!!(下面的例子会说到)

     

    2. <permission>:

    An application can also protect its own components (activities, services, broadcast receivers, and content providers) with permissions. 
    It can employ any of the permissions defined by Android (listed in android.Manifest.permission ) or declared by other applications. Or 
    it can define its own. A new permission is declared with the  <permission>  element. 
    

    一个应用程序也能用 permissions 保护自己的组件,它能使用android系统定义的或者其他应用定义的又或者自身应用定义的permissions,如果要想定义一个新的permission,

    可以用 <permission>  节点来定义。如下:

    <permission android:description="string resource"
      android:icon="drawable resource"
      android:label="string resource"
      android:name="string"
      android:permissionGroup="string"
      android:protectionLevel=["normal" | "dangerous" | 
           "signature" | "signatureOrSystem"] />

     

    For example, an activity could be protected as follows:

    <manifest . . . >
      <permission android:name="com.example.project.DEBIT_ACCT" . . . />
      <uses-permission android:name="com.example.project.DEBIT_ACCT" />
      . . .
      <application . . .>
        <activity android:name="com.example.project.FreneticActivity"
              android:permission="com.example.project.DEBIT_ACCT"
              . . . >
          . . .
        </activity>
      </application>
    </manifest>

     

    Note that, in this example, the DEBIT_ACCT permission is not only declared with the  <permission> element, its use is also requested with the  <uses-permission>element.
    Its use must be requested in order for other components of the application to launch the protected activity, even though the protection is imposed by the application itself.
    
    If, in the same example, the permission attribute was set to a permission declared elsewhere (such as android.permission.CALL_EMERGENCY_NUMBERS , it would not have been 
    necessary to declare it again with a <permission> element. However, it would still have been necessary to request its use with  <uses-permission> .

     

    注意的是,在这个例子中, DEBIT_ACCT这个权限不仅在<permission>中声明,并且也在<uses-permission>中声明,要想在这应用的其他组件启动这个受保护的activity时,

    在<uses-permission>中声明DEBIT_ACCT这个权限是必须的,即使这个保护是这个应用本身加上的。(这印证了上面第1点说的)。

    注意,如果添加的permission是其他地方定义的,那就没必要再<permission>声明一次,但是,仍然用<uses-permission>声明这个权限。

    展开全文
  • 代码shutil.copyfile(os.path.join(sourcepath+'/'+eachclass+'/...访问后一个路径上的文件valpath+'/'+eachclass+'/'+im,im是一个*.jpg图片,出现permission denied错误 原因分析:这个路径是jupter notebook默认...

    代码shutil.copyfile(os.path.join(sourcepath+'/'+eachclass+ '/',im),valpath+'/'+eachclass+'/'+im)中

    访问后一个路径上的文件valpath+'/'+eachclass+'/'+im,im是一个*.jpg图片,出现permission denied错误

    原因分析:这个路径是jupter notebook默认路径的基础上建立的路径,而jupyter notebook的默认路径是系统盘C盘里面的路径,而shutil.copyfile对后一个路径里面的文件有写权限的要求,所以会出现权限拒绝的问题。

    解决方法:先用管理员权限运行jupyter notebook,发现依然访问不了这个文件,最后把文件建在非系统盘D盘,解决问题!

    展开全文
  • Permission denied

    千次阅读 2019-05-05 11:36:11
    记录在一次启动tomcat时提示:Permission denied 信息。 解释一下Permission denied的意思-没有权限 解决办法: sudo chmod -R 777 某一目录 其中 -R 是指级联应用到目录里的所有子目录和文件 777 是所有用户都...
  • 虚拟机中通过yum安装nginx的,安装一切正常,但是访问时报403,nginx.config ps chmod reboot ...打开日志发现报错Permission open() "/data/www/1.txt" failed (13: Permission denied), client: 192.
  • permission 和 user-permission的区别

    千次阅读 2016-06-27 16:22:28
    uses-permission是申请权限; permission是自己定义权限; android组件中的permission指明调用这个组件需要的权限。
  • Permission Denial

    千次阅读 2018-04-17 21:55:44
    看了Android7.0FileProvider...由于是在服务里面所以加了intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)在android6.0可以运行安装,android7.0就会报Permission Denial修改代码如下ok了 Intent intent = new Inten...
  • uses-permissionpermission的区别

    千次阅读 2016-10-12 16:11:49
    Permission是Manifest中的一个类,标注了很多权限,当应用程序需要利用系统中其他程序的功能时候,就需要在xml中标注本Application中的权限。  我们在Manifest配置Persmission是会发现有两个Permission,分别为...
  • permission uses-permission区别

    千次阅读 2011-10-19 10:36:41
    Android的manifest文件中有四个标签与permission有关,它们分别是 permissionpermission-group> permission-tree> 和 uses-permission>。其中最常用当然是 uses-permission>,
  • 解决出现 Permission denied 的办法

    万次阅读 2018-07-26 11:43:59
    解决出现 Permission denied 的办法 解决方法:解决出现 Permission denied 的办法
  • 目录 1 问题描述 2 原因分析 3 解决方法 4 检查是否更新成功 ...”Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://...
  • docker Permission denied

    千次阅读 2018-06-01 15:15:55
    以主机用户访问主机的docker容器挂载目录时出现-bash: cd: logs: Permission denied,需要主机授予当前登陆用户权限 sudo chmod -R 777 /home/xxx
  • linux permission denied

    万次阅读 2017-09-08 17:31:54
    permission denied 的错误提示make: execvp: ./config.guess: Permission denied
  • 成功解决PermissionError: [Errno 13] Permission denied: 'f:\\program files\\python\\python36\\Lib\\site- 目录 解决问题 解决思路 解决方法 解决问题 成功解决...
  • 报错信息 使用python做数据集的过程中,报如下错误: 错误原因 报错翻译过来是: ...权限错误:[errno 13]权限被拒绝: ...错误产生的原因是文件无法打开,可能产生的原因是文件找不到,或者被占用,或者无权限访问...
  • permission和uses-permission的区别

    万次阅读 多人点赞 2011-11-06 17:00:37
    首先,先看一下permission定义的格式:<permission android:description="string resource" android:icon="drawable resource" android:label="string resource" android:name="string
  • permission: android.permission.WRITE_SETTINGS.

    千次阅读 2019-06-16 12:24:03
    今天在设置调节亮度的时候出现了错误 ...uses-permission android:name="android.permission.WRITE_SETTINGS" tools:ignore="ProtectedPermissions" / if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M...
  • Android dynamic permission

    万次阅读 2017-02-10 14:03:49
    Android dynamic permissionContentProvider Uri permissionAndroid dynamic permission ContentProvider Uri permission 前言 1ContentProvider静态授权 2ContentProvider 动态授权 1Intent动态授权的开始 2Intent...
  • 安卓Permission权限请求

    千次阅读 2019-01-07 10:52:10
    AndroidPermission,权限自动请求示例(所需权限被关闭时,会自动请求) 权限请求源码:(将应用的Activity设为PermissionActivity的子类,即可自动请求所需权限) package com.sc.demo; import android...
  • Docker Permission denied

    千次阅读 2018-04-28 09:28:02
    Docker容器挂载主机目录访问出现Permission denied的解决办法 Docker挂载主机目录,访问相应的文件出现Premission denied的权限访问问题 挂载后,查看相应的文件出现如下的提示: [root@ba471da26d07 soft]# ls...
  • linux环境中,ssh登录报错,Permission denied, please try again. 最近遇到了这个问题,网上改ssh配置文件的方法都行不通。 也查了很多资料,最后发现是用户密码锁了。 首先以普通的用户登录,然后通过su切换到该...
  • Permission denied问题

    千次阅读 2018-10-23 22:38:52
    出现Permission denied是因为操作文件权限不够 chmod 777 -R ----- -R 是级联所有子目录
  • 最近在学习第一行代码的例子时遇到了一个问题, Manifest.permissionpermission无法解析,总是红的。 google 了一下解决办法是 将android studio 中自动导入的包 import java.util.jar.Manifest; ...
  • 用AndroidStudio开发遇到这个错误: Permission Denial: opening provider com.android.providers.contacts.ContactsProvider2  试了很多种办法,在manifests文件也添加了权限 ...android.permission.WRITE_...
  • Requesting uid 10078 needs to declare permission android.permission.REQUEST_INSTALL_PACKAGES 解决:添加权限即可 <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/> ...
  • nginx permission denied

    2019-02-25 13:21:10
    访问报403,看日志 permission denied,资源的访问权限明明有,这时候需要 修改配置文件nginx.cnf 中user 配置值,默认为nobody,现在改为启动服务用户的权限,我这是root。...
  • 关于 @Permission("permission:trans:list")用到的是哪方面的知识,如何理解下面代码 @Permission("permission:trans:list") public String listTrans() { if (StringUtils.isNotNull(transService)) { Map, ...
  • flutter权限管理permission_handler

    万次阅读 2019-06-11 17:17:01
    文章目录添加依赖使用 添加依赖 #权限 permission_handler: ^3.0.0 使用 ...uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.per...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 80,428
精华内容 32,171
关键字:

permission