阅读器应用程序使用以下代码访问数据应用程序的文本文件:
Intent myIntent = new Intent("myintent");List<ResolveInfo> dataPacks = packageManager.queryIntentActivitIEs(myIntent,0);String packagename = dataPacks.get(0).activityInfo.packagenameResources 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应用程序的资产所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)