插件式开发(一)-----已安装

来源:互联网 发布:柠檬网络tv 编辑:程序博客网 时间:2024/05/08 05:38

本文转自:这里呀--->点击打开链接

1.插件式开发基础

 

插件式开发是指,只要提供一个主应用程序,此应用程序可以安装和调用其他插件式的功能模块,当应用程序需要增加功能时,

不需要升级应用程序,而是通过安装新功能模块的插件即可。其单个插件的运行必须依赖于主应用程序。插件开发是单独进行的。

(这里的插件其实完全就是一个单独的App她只是没有默认的启动的界面,安装之后手机上没有图标,

需要的时候通过其包名+类名+action就可以调用了。

 

2.插件是开发的构想

 

A.通过如下代码可以获取Android系统内的安装应用的列表,同时获取每个安装包的信息。

 

 

[java] view plain copy
  1. List<PackageInfo> pkgs = pm  
  2.                 .getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);  

 

 

B.通过如下代码可以获取每个包的资源

 

 

[java] view plain copy
  1. PackageManager pm = contxt.getPackageManager();  
  2. res = pm.getResourcesForApplication(packageName);  

 

 

 C.通过如下代码可以获取资源的id

 

 

[java] view plain copy
  1. /* Resources res */  
  2.   
  3. res.getIdentifier(resName, resType, packageName)  
 可以先判断一下,有没有安装相应的插件,如果安装了的话,就直接使用,没有的话可以提示用户是否下载安装就行了。
使用方法:
Intent intent = new Intent();ComponentName componentName =
new ComponentName("插件的包名","插件包名.要打开的文件名(eg:.chajianActivity");//这个没问题intent.setComponent(componentName);intent.setAction("android_intent_action_chajian");startActivity(intent);

 

以上功能经过验证后发现,设想完全可以实现,插件式开发设想成立。

然而,发现没有,这样apk必须安装才能运行,如果不安装要是也能运行该多好啊!

0 0