Android中读取另一个apk中的资源

在Android系统中,apk之间可以相互读取数据的条件是:有同样的签名,并且AndroidManifest.xml文件中配置的android:sharedUserId属性值相同,那么两个apk运行在同一个进程中,可以互相访问任意数据。

方法如下:

1、主程序及要读取的apk中AndroidManifest.xml中配置

例如: android:sharedUserId="com.salc3k"

2、访问资源的方法

@Override  
public void onCreate(Bundle savedInstanceState) {   
    super.onCreate(savedInstanceState);   
    setContentView(R.layout.main);   
  
    Context slaveContext = null;   
  
    try {   
        slaveContext = this.createPackageContext(   
                "com.salc3k.slave", Context.CONTEXT_IGNORE_SECURITY);   
    } catch (NameNotFoundException e) {   
        e.printStackTrace();   
    }   
  
    Button btn = (Button) findViewById(R.id.btn);   
    btn.setBackgroundDrawable(slaveContext.getResources().getDrawable(   
            R.drawable.btn_background));   
}

这一功能用来为程序制作皮肤。

暂无评论
  • 1:请一针见血的评论。
  • 2:评论需要审核通过后才能显示。
  • 3:评论字数限制在1000字以内。
  • 当前字数:0
热门文章
推荐文章
随机文章
关于本站 - 广告服务 - 版权声明 - 联系我们 - 友情链接 - 网站地图 - 帮助中心