android 跨应用,Android跨应用获取资源
跨应用获取资源有两种方式
方式一 利用PackageManager
PackageManager pm = getPackageManager();
Resources rs = null;
try {
rs = pm.getResourcesForApplication("com.example.test");
// getIdentifier方法使用如方式一二中使用均可
String text = rs.getText(rs.getIdentifier("test", "string", "com.example.test")).toString();
mTextView.setText(text);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
方式二 利用目标资源所在的Context
Context remoteContext = null;
try {
// 1. 传入目标应用包名
// 2. CONTEXT_INCLUDE_CODE的意思是包括代码,也就是说可以执行这个包里面的代码
CONTEXT_IGNORE_SECURITY的忽略安全警告,如果不加这个标志的话,有些功能是用不了的,会出现安全警告
remoteContext = createPackageContext("com.example.test", CONTEXT_INCLUDE_CODE | CONTEXT_IGNORE_SECURITY);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
if (remoteContext != null) {
int resId = remoteContext.getResources().getIdentifier("com.example.test:string/test", null, null);
// 注意,此处需要通过remoteContext将对应id转化为字符串,否则会将该id作本应用中资源查找,从而出错
mTextView.setText(remoteContext.getString(resId));
}
备注:
代码已在Android9.0系统测试,跨应用获取资源不需要权限,通过以上方式即可获取。
android 跨应用,Android跨应用获取资源相关推荐
- android 指定资源id,Android 通过名称获取资源ID
当我们获取网络数据的时候,解析之后往往都是一个字符串,而不是资源id,所有我们没有办法直接使用,只能通过名称来获取到资源id, package com.example.administrator.de ...
- 【Android 安装包优化】移除无用资源 ( 自动移除无用资源 | 直接引用资源 | 动态获取资源 id | Lint 检查资源 )
文章目录 一.自动移除无用资源 ( 不推荐使用 ) 二.直接引用资源与动态获取资源 1.直接引用资源 2.动态获取资源 id 三.Lint 检查资源 四.参考资料 一.自动移除无用资源 ( 不推荐使用 ...
- android remoteviews 设置背景,Android通过RemoteViews实现跨进程更新UI示例
一.概述 前面一篇文章Android通过AIDL实现跨进程更新UI我们学习了aidl跨进程更新ui,这种传统方式实现跨进程更新UI是可行的,但有以下弊端: View中的方法数比较多,在IPC中需要增加 ...
- Android开发之SDK开发获取资源id报错的问题
我们在开发SDK的时候有时候需要兼容Eclipse版本和AS版本,AS版本就不说了没多大问题,主要是Eclipse版本会有问题.当开发之使用Eclipse开发的时候接入jar包(AS打包成aar,解压 ...
- Android之使用getIdentifier()获取资源Id
使用getIdentifier()方法可以方便的获各应用包下的指定资源ID. 主要有两种方法: (1)方式一 Resources resources = context.getResources(); ...
- img标签图像cors跨域获取资源
先说一下问题背景:先用img标签展示了某一图像资源,然后后续业务中用get请求获取同一图像资源(存在跨域),但是由于对图像有缓存,img标签获取资源时的请求response header中没有acce ...
- android 7.0分享朋友圈提示:“获取资源失败,仅支持分享照片至朋友圈”或者FileProvider生成的Uri无法识别
需求是把网络图片地址是string类型,生成图片,分享到朋友圈,遇到的问题是,7.0之前没有问题分享朋友圈,顺便切上代码: Intent intent = new Intent();Uri uri = ...
- Android中本地图片资源以及视频录音资源的获取
经常使用到本地图片的获取,还有录音之类,所以就稍微整理了一下,模式都是差不多的,大家可以参考一下. 这里写代码片package com.ly.day72_camera; import android. ...
- android:shareduserid获取资源,关于 android:sharedUserId=android.uid.system
先在配置文件AndroidManifest.xml中的manifest里设置,例如: package="com.Demo" android:versionCode="10 ...
最新文章
- Angular 组件交互
- wpf richtextbox 存储到数据库并显示
- Storm的acker确认机制
- OpenCASCADE绘制测试线束:拓扑命令之拓扑和几何分析
- 电路常识性概念(1)-输入、输出阻抗
- sata修改为ahci后系统无法启动_固态重装系统
- 使用nginx搭建https服务器
- async和await理解代码
- 适合办公的笔记本电脑_最适合你的十款笔记本电脑
- 360浏览器保存密码设置_电脑小技巧查看浏览器保存的系统账号密码
- Ghost配置2——添加代码高亮
- 总结2---万用表测量方波和正弦波的电压
- python键值对是什么意思_python键值对
- Center OS和Linux的区别
- php如何大批量群发微信模板消息,如何用php实现发送微信模板消息呢?
- scratch制作彩虹猫病毒模拟器
- 索博士面膜app开发
- httpclient用法大全
- PHP 获取格式化的日期和时间
- epoch mysql_PostgreSQL: epoch 新纪元时间的使用
热门文章
- 为什么kill进程后socket一直处于FIN_WAIT_1状态
- 在加州最古老的监狱教课是种什么样的体验?
- 从濒临解散到浴火重生,OceanBase 这十年经历了什么?
- 世界冠军之路:菜鸟车辆路径规划求解引擎研发历程
- 提升研发效率 保障数据安全——阿里云宣布数据管理DMS企业版正式商业化
- 微服务、Kubernetes和无服务器之后,即将发生的……
- linux下反删除软件,浅谈Linux文件系统反删除方法(二)
- matlab中patch命令_matlab中patch函数的用法——emily
- linux 环境 RocketMQ 4.8.0 安装、部署控制台
- Flowable 数据库表结构 ACT_RU_IDENTITYLINK