Android ComponentName
概念
ComponentName(组件名称)是用来打开其他应用程序中的Activity或服务的。
ComponentName的构造函数:ComponentName(String pkg,String cls)
我们知道在Android应用程序中如果要详细描述一个组件我们需要知道该组件所在的应用包名,也就是在AndroidManifest.xml文件中manifest根结点下的package=“XXX.XXXXX.XXXXX”,还有组件在应用程序中的完整路径名,拿Activity来说,也就是activity节点中name属性的值。因此到这里我们也就明白了可以使用ComponentName来封装一个组件的应用包名和组件的名字。
用在Intent方法来封装一个ComponentName。
4836 ComponentName cn = new ComponentName("com.android.systemui",
4837 "com.android.systemui.screenshot.TakeScreenshotService");
4838 Intent intent = new Intent();
4839 intent.setComponent(cn);
使用方式
1.启动activity:
button1.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//组件名称,第一个参数是包名,也是主配置文件Manifest里设置好的包名。第二个是类名,也就是包名+类名 (也就是Manifest里面的name) ComponentName componentName = new ComponentName("com.example.componentactivity","com.example.componentactivity.TestComponentActivity");Intent intent =new Intent();intent.setComponent(componentName);startActivity(intent);}});
2.启动service:
button2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {//组件名称,第一个参数是包名,也是主配置文件Manifest里设置好的包名。第二个是类名,也就是包名+类名 (也就是Manifest里面的name) ComponentName componentName = new ComponentName("com.example.componentnamedemo","com.example.componentnamedemo.ComponentService");Intent intent =new Intent();intent.setComponent(componentName);startService(intent);}});
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
