一.provider可以通过binder得到客户的uid,然后进程权限检查.

二,provider临时权限

  场景:  

     Email的内容在provider中提供,Email的客户端可读基其内容,现在一封email 有附件,需要启动另一个Pdf客户端来读它的内容,

     这时Pdf客户端就需要Email客户端给它一个临时仅限.

  

  解决方式:

     临时委派使得委托者的权限临时提升(类似Root-setUID模式)如下:

  1,provider定义临时权限,并允许使用者将权限临时给第三者
    android:grantUriPermissions="true"  是开启临时权限.

   如:

    

      <provider
android:name="XXX"
android:writePermission="XXX"
android:grantUriPermissions="true"> <grant-uri-permission android:path="/attachments/"/> <!-- 路径 -->
<grant-uri-permission android:pathPrefix="/messages/"/> <!-- 某前缀 -->
<grant-uri-permission android:pathPattern=".*public.*"/><!-- 正则表达式 --> </provider>

  2,使用者b使用权限把对它的临时权限传给另一个第三者c,有两种方法,第二个常用,
    api:

    
     intent: 常用
      注意,如果使用者2在它的activity生命周期内启动了另一个线程,那么会产生无法访问.

    

最新文章

  1. MySQL-curses/termcap缺失
  2. perl中读取外部文件
  3. Commando War
  4. Oracle EBS-SQL (PO-17):检查供货比例不为100%.sql
  5. 【带着canvas去流浪(8)】碰撞
  6. .NET运行时中的监测和可观测性
  7. 【Oracle学习笔记】游标
  8. Asp.Net Core 程序部署到Linux(centos)生产环境(一):普通部署
  9. APP,H5测试要点
  10. Django Rest Framework之用户频率/访问次数限制
  11. ssh无法访问服务器报“ssh-dss”认证错误
  12. Date 时间 日期 常用方法函数
  13. DataGridview启用列重新排序属性的作用
  14. FreeSWITCH网关参数之caller-id-in-from
  15. 【TCP/IP详解 卷一:协议】第二十章 TCP的成块数据流
  16. String对象中的正则表达式
  17. (小数化分数)小数化分数2 -- HDU --1717
  18. ES6-fetch
  19. django 创建数据库表 命令
  20. codechef September Challenge 2017 Sereja and Commands

热门文章

  1. 4-2.矩阵乘法的Strassen算法详解
  2. 【iOS】Objective-C简约而不简单的单例模式
  3. jquery ztree插件
  4. 【BZOJ 1006】[HNOI2008]神奇的国度
  5. View模版的设计
  6. android开发,assets下面的资源文件不会变化/改动
  7. mysql innodb 引擎
  8. DIV+CSS 基础
  9. java 伪静态的方法
  10. [转载]Java学习这七年