Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在Jelly Bean上访问其他Android应用程序的资产大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一对 Android应用程序.一个是免费的“读者”应用程序,另一个是付费的“数据”应用程序,其文本文件位于其资产的子目录中.

阅读器应用程序使用以下代码访问数据应用程序的文本文件

Intent myIntent = new Intent("myintent");
List<ResolveInfo> dataPacks = packageManager.queryIntentActivities(myIntent,0);
String packagename = dataPacks.get(0).activityInfo.packagename
resources res = packageManager.getresourcesForApplication(packageName);
AssetManager assets = res.getAssets();
String[] DATAFILEs = assets.list("Data");

这一直运行良好,但使用Google Play下载到jelly Bean的应用程序无效(数据文件为空).如果应用程序是直接从电子邮件安装的,那么很好,所以我怀疑我的问题与Google Play最近的安全更改有关.然而,据称这些已被撤消,但我仍然遇到问题.

有人能说清楚出了什么问题吗? (不幸的是我没有jelly Bean设备)

或者,有人可以建议更好的机制来访问数据应用程序的txt文件吗?

谢谢

解决方法

JB设备上的付费应用程序是“前向锁定”.这意味着APK分为两部分 – 一部分使用公共资源,另一部分使用私有部分和代码,其他应用程序无法读取.这里有一些细节: http://nelenkov.blogspot.com/2012/07/using-app-encryption-in-jelly-bean.html

我没有详细讨论如何拆分文件,但是您看到的问题表明资产是私有APK的一部分,这是有道理的,因为您通常会在资产中粘贴API密钥等.

因此,您需要使用更间接的方法在两个应用程序(如ContentProvider或远程服务)之间共享信息.确保您需要签名权限才能访问这些权限,以确保只有您自己的应用才能使用它们.

大佬总结

以上是大佬教程为你收集整理的在Jelly Bean上访问其他Android应用程序的资产全部内容,希望文章能够帮你解决在Jelly Bean上访问其他Android应用程序的资产所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。