跨应用获取资源有两种方式

方式一 利用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跨应用获取资源相关推荐

  1. android 指定资源id,Android 通过名称获取资源ID

    当我们获取网络数据的时候,解析之后往往都是一个字符串,而不是资源id,所有我们没有办法直接使用,只能通过名称来获取到资源id, package com.example.administrator.de ...

  2. 【Android 安装包优化】移除无用资源 ( 自动移除无用资源 | 直接引用资源 | 动态获取资源 id | Lint 检查资源 )

    文章目录 一.自动移除无用资源 ( 不推荐使用 ) 二.直接引用资源与动态获取资源 1.直接引用资源 2.动态获取资源 id 三.Lint 检查资源 四.参考资料 一.自动移除无用资源 ( 不推荐使用 ...

  3. android remoteviews 设置背景,Android通过RemoteViews实现跨进程更新UI示例

    一.概述 前面一篇文章Android通过AIDL实现跨进程更新UI我们学习了aidl跨进程更新ui,这种传统方式实现跨进程更新UI是可行的,但有以下弊端: View中的方法数比较多,在IPC中需要增加 ...

  4. Android开发之SDK开发获取资源id报错的问题

    我们在开发SDK的时候有时候需要兼容Eclipse版本和AS版本,AS版本就不说了没多大问题,主要是Eclipse版本会有问题.当开发之使用Eclipse开发的时候接入jar包(AS打包成aar,解压 ...

  5. Android之使用getIdentifier()获取资源Id

    使用getIdentifier()方法可以方便的获各应用包下的指定资源ID. 主要有两种方法: (1)方式一 Resources resources = context.getResources(); ...

  6. img标签图像cors跨域获取资源

    先说一下问题背景:先用img标签展示了某一图像资源,然后后续业务中用get请求获取同一图像资源(存在跨域),但是由于对图像有缓存,img标签获取资源时的请求response header中没有acce ...

  7. android 7.0分享朋友圈提示:“获取资源失败,仅支持分享照片至朋友圈”或者FileProvider生成的Uri无法识别

    需求是把网络图片地址是string类型,生成图片,分享到朋友圈,遇到的问题是,7.0之前没有问题分享朋友圈,顺便切上代码: Intent intent = new Intent();Uri uri = ...

  8. Android中本地图片资源以及视频录音资源的获取

    经常使用到本地图片的获取,还有录音之类,所以就稍微整理了一下,模式都是差不多的,大家可以参考一下. 这里写代码片package com.ly.day72_camera; import android. ...

  9. android:shareduserid获取资源,关于 android:sharedUserId=android.uid.system

    先在配置文件AndroidManifest.xml中的manifest里设置,例如: package="com.Demo" android:versionCode="10 ...

最新文章

  1. Angular 组件交互
  2. wpf richtextbox 存储到数据库并显示
  3. Storm的acker确认机制
  4. OpenCASCADE绘制测试线束:拓扑命令之拓扑和几何分析
  5. 电路常识性概念(1)-输入、输出阻抗
  6. sata修改为ahci后系统无法启动_固态重装系统
  7. 使用nginx搭建https服务器
  8. async和await理解代码
  9. 适合办公的笔记本电脑_最适合你的十款笔记本电脑
  10. 360浏览器保存密码设置_电脑小技巧查看浏览器保存的系统账号密码
  11. Ghost配置2——添加代码高亮
  12. 总结2---万用表测量方波和正弦波的电压
  13. python键值对是什么意思_python键值对
  14. Center OS和Linux的区别
  15. php如何大批量群发微信模板消息,如何用php实现发送微信模板消息呢?
  16. scratch制作彩虹猫病毒模拟器
  17. 索博士面膜app开发
  18. httpclient用法大全
  19. PHP 获取格式化的日期和时间
  20. epoch mysql_PostgreSQL: epoch 新纪元时间的使用

热门文章

  1. 为什么kill进程后socket一直处于FIN_WAIT_1状态
  2. 在加州最古老的监狱教课是种什么样的体验?
  3. 从濒临解散到浴火重生,OceanBase 这十年经历了什么?
  4. 世界冠军之路:菜鸟车辆路径规划求解引擎研发历程
  5. 提升研发效率 保障数据安全——阿里云宣布数据管理DMS企业版正式商业化
  6. 微服务、Kubernetes和无服务器之后,即将发生的……
  7. linux下反删除软件,浅谈Linux文件系统反删除方法(二)
  8. matlab中patch命令_matlab中patch函数的用法——emily
  9. linux 环境 RocketMQ 4.8.0 安装、部署控制台
  10. Flowable 数据库表结构 ACT_RU_IDENTITYLINK