利用meta-data的数据,动态更改contetnprovider的authorities
因为业务需要,做个库给应用使用,需要动态的给contentprovider配置uri,于是便用到了meta和${applicationId},很方便的解决了问题,并且极大的方便了其他应用的使用。
1.在AndroidManifest里面配置meta
<meta-data android:name="BFC_UPLOAD_HOST_APP_ID" android:value="${applicationId}" />
${applicationId}的作用就是用applicationId替代meta-data 的value的值
2.contentprovider配置
<provider android:name="com.eebbk.bfc.uploadsdk.upload.provider.UploadProvider" android:authorities="${applicationId}.bbkupload" android:exported="true">
应用使用的时候也不用配置contentprovider了
示例如下:URI_MACHER.addURI(uri, "my_uploads", MY_UPLOADS);
public static String getHostAppId(Context appContext) throws IllegalArgumentException {ApplicationInfo applicationInfo = null;try {applicationInfo = appContext.getPackageManager().getApplicationInfo(appContext.getPackageName(), PackageManager.GET_META_DATA);if(applicationInfo == null){throw new IllegalArgumentException(" get application info = null, has no meta data! ");}return applicationInfo.metaData.getString(Constants.BFC_UPLOADLOAD_HOST_APP_ID);} catch (PackageManager.NameNotFoundException e) {throw new IllegalArgumentException(" get application info error! ", e);}}
5.为packagename赋值,并获取uri动态的string:
String packagename = applicationInfo ;
6.获取到authorties 的值后。我们便可以在contentprovider创建时配置到URI里面,
String uri= TextUtils.concat(packagename , ".bbkupload").toString()
</provider>
3.获取meta-data的值
利用meta-data的数据,动态更改contetnprovider的authorities相关推荐
- backtrader利用小时间粒度数据动态合成大时间粒度数据:replay功能
扫地僧backtrader技术教程获取方法 =========================== 看过我教程的同学都知道,backtrader中可以用重采样resample功能来将小粒度数据合成大粒 ...
- python动态图形_利用matplotlib实现根据实时数据动态更新图形
我就废话不多说了,直接上代码吧! from time import sleep from threading importThread import numpy as np import matplo ...
- 微信小程序 data中数据值的更改与储存
微信小程序 data中数据值的更改与储存 this.setData this.setData 直接更改 success(res){this.setData({list:res.data.data}) ...
- Java技术:实现pdf和Excel的生成及数据动态插入、导出
1 序言 Excel.PDF的导出.导入是我们工作中经常遇到的一个问题,刚好今天公司业务遇到了这个问题,顺便记个笔记以防下次遇到相同的问题而束手无策. 公司有这么两个需求: 需求一.给了一个表单,让把 ...
- Vue.set()实现数据动态响应
2019独角兽企业重金招聘Python工程师标准>>> this.$set()和Vue.set()本质方法一样,前者可以用在methods中使用. 在vue里面,我们操作最多的就是各 ...
- 硬核!Java 实现数据动态插入,生成 PDF、EXECL,完美导出功能!
>>号外:关注"Java精选"公众号,回复"面试资料",免费领取资料!"Java精选面试题"小程序,3000+ 道面试题在线刷, ...
- Java实现pdf和Excel的生成及数据动态插入、导出
点击上方蓝色"方志朋",选择"设为星标"回复"666"获取独家整理的学习资料! 作者:慢时光 cnblogs.com/Tom-shushu/ ...
- MITRE:利用微生物组时间序列数据推断与宿主状态变化相关的特征
文章目录 MITRE:利用微生物组时间序列数据推断与宿主状态变化相关的特征 热心肠日报 写在前面 主要结果 图1. MITRE通过对时间序列的微生物群落的系统发育信息进行学习,同宿主的状态改变联系起来 ...
- 【JS 逆向百例】某空气质量监测平台无限 debugger 以及数据动态加密分析
关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 文章目录 声明 逆向目标 写在前面 绕过无限 debugger 方法一 方法二 方法三 抓包分析 加密入口 动态 JS 本地改写 ...
最新文章
- WSDM 2022 | 中科院、腾讯、北航提出:跨领域推荐中的个性化迁移用户兴趣偏好...
- Mcad学习笔记之序列化(2进制和Soap序列化)
- android-数据库SQLite相关
- 想做测试经理的看过来
- c语言小程序hello,【北北的小程序】北のC语言第一课:helloworld
- IBASE write buffer
- thinkphp与php共享session
- python 预测算法_Python 与金融数据使用机器学习算法预测交易策略
- C#LeetCode刷题之#190-颠倒二进制位(Reverse Bits)
- ngnix学习(二)ngnix常用命令
- python盖帽法_干货:用Python进行数据清洗,这7种方法你一定要掌握
- 微信养鸡领鸡蛋小程序源码
- 如何在没有原工程的情况下,利用vivado将bit文件转化成bin文件
- 阿里巴巴实习面试经历
- JavaScript - canvas - 使用鼠标画线,带撤销与重做功能
- 详解 0xff 的作用
- 之江汇空间如何加音乐背景_如何给空间添加背景音乐
- Dart Isolate
- 软件工程-第三章 软件需求分析1
- 海思hi3716c机顶盒接usb摄像头和usb无线耳机时,无线耳机有时没有声音