apkplug利用plugin.xml传递自定义属性
apkplug利用plugin.xml传递自定义属性
梁大帅 发表于4年前
apkplug利用plugin.xml传递自定义属性
  • 发表于 4年前
  • 阅读 907
  • 收藏 1
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

   plugin.xml文件除了定义插件属性外,开发者也可以根据自己需求添加自定义的属性。

demo源码下载地址 http://git.oschina.net/plug/apkplugBundles/tree/master/PluginDemo

1.配置代码如下

<?xml version="1.0" encoding="UTF-8"?>
<plugin-features  
Bundle-Name="plugin文件传参" 
Bundle-SymbolicName="com.apkplug.plugindemo"	
Bundle-Version="1.0.3"
date="2012.11.28"
Install="false"
provider-name="插件开发商的名称" 
provider-url="" 
Bundle-Activator="com.apkplug.plugindemo.SimpleBundle"
Bundle-Activity="com.apkplug.plugindemo.MainActivity"
mykey="我是插件自定义的一个参数"
>
</plugin-features>

2.定义com.apkplug.plugindemo.BundleContextFactory 用来保存插件启动时的上下文BundleContext

3.编写 com.apkplug.plugindemo.SimpleBundle implements BundleActivator

public class SimpleBundle implements BundleActivator
{
    public void start(BundleContext context) throws Exception
    {
        System.out.println("Simple Bundle " + context.getBundle().getBundleId()
            + " has started.");
        //保存插件上下文BundleContext 在Activity中使用
        BundleContextFactory.getInstance().setBundleContext(context);
    }
   
    public void stop(BundleContext context)
    {
        System.out.println("Simple Bundle " + context.getBundle().getBundleId()
            + " has stopped.");
      
    }
}

4.在com.apkplug.plugindemo.MainActivity中获取mykey

public class MainActivity extends Activity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		TextView info=(TextView) this.findViewById(R.id.info);
		
		info.setText("plugin.xml自定义key:"+
		BundleContextFactory.getInstance().getBundleContext().
		getBundle().getHeaders().get("mykey"));
	}
}
共有 人打赏支持
粉丝 48
博文 45
码字总数 27883
作品 1
×
梁大帅
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: