Android启动组件的三种主流及若干非主流方式
2013-11-07 17:05
357 查看
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处
启动组件的一些方式,今天做一个简要的总结
Service:通过startService()启动,或者写进AndroidManifest.xml实现自启动
BroadCastReceiver:通过register方法注册,或者注册在AndroidManifest.xml中
剩下使用比较频繁的就是Activity
三种主流方式
1、设置class
Intent intent = new Intent();
intent.setClass(MainActivity1.this, MainActivity2.class);
//intent.setClassName("com.lzx.definepermission","com.lzx.definepermission.MainActivity");
//intent.setComponent(new ComponentName("com.lzx.definepermission", "com.lzx.definepermission.MainActivity"));
startActivity(intent);
第一种又有三种方法,直接setClass,后两种同样适用不同于进程间的互调。
2、启动某个应用
Intent intent = new Intent();
PackageManager manager = MainActivity.this.getPackageManager();
intent = manager.getLaunchIntentForPackage("com.lzx.definepermission");
startActivity(intent);
3、隐式调用
被调用者在AndroidManifest.xml文件的intent-filter加入action,
如:<action android:name="android.intent.action.definepermission" />
调用者:
Intent intent = new Intent();
intent.setAction("android.intent.action.definepermission");
startActivity(intent);
不适用:
(1)被调用者加入了自定义权限(详见:Android自定义权限和使用权限)
(2)被调用者使用隐私属性,只让本项目中类访问
其它使用Intent属性打开所需Activity:Intent中的四个重要属性——Action、Data、Category、Extras
小知识:
android:process=":remote",无论Activity或者Service都可添加次属性
“:remote”代表此Activity需要时即被创建,"remote"代表它成为全局变量,所有的进程中公用此组件
启动组件的一些方式,今天做一个简要的总结
Service:通过startService()启动,或者写进AndroidManifest.xml实现自启动
BroadCastReceiver:通过register方法注册,或者注册在AndroidManifest.xml中
剩下使用比较频繁的就是Activity
三种主流方式
1、设置class
Intent intent = new Intent();
intent.setClass(MainActivity1.this, MainActivity2.class);
//intent.setClassName("com.lzx.definepermission","com.lzx.definepermission.MainActivity");
//intent.setComponent(new ComponentName("com.lzx.definepermission", "com.lzx.definepermission.MainActivity"));
startActivity(intent);
第一种又有三种方法,直接setClass,后两种同样适用不同于进程间的互调。
2、启动某个应用
Intent intent = new Intent();
PackageManager manager = MainActivity.this.getPackageManager();
intent = manager.getLaunchIntentForPackage("com.lzx.definepermission");
startActivity(intent);
3、隐式调用
被调用者在AndroidManifest.xml文件的intent-filter加入action,
如:<action android:name="android.intent.action.definepermission" />
调用者:
Intent intent = new Intent();
intent.setAction("android.intent.action.definepermission");
startActivity(intent);
不适用:
(1)被调用者加入了自定义权限(详见:Android自定义权限和使用权限)
(2)被调用者使用隐私属性,只让本项目中类访问
其它使用Intent属性打开所需Activity:Intent中的四个重要属性——Action、Data、Category、Extras
小知识:
android:process=":remote",无论Activity或者Service都可添加次属性
“:remote”代表此Activity需要时即被创建,"remote"代表它成为全局变量,所有的进程中公用此组件
相关文章推荐
- Android启动组件的三种主流及若干非主流方式
- Android启动组件的三种主流及若干非主流方式
- Android应用程序组件的启动方式
- Android通过外部启动APP的三种方式
- Android 中的 Service 三种启动方式
- android 定制组件的三种方式
- Android通过外部启动APP的三种方式
- Android通过外部启动APP的三种方式
- Android通过外部启动APP的三种方式
- Android界面组件的四种启动方式
- Android通过外部启动APP的三种方式
- Android的四大组件之三--Activity(4)----->Activity的启动方式和相关参数
- github项目解析(八)-->Activity启动过程中获取组件宽高的三种方式
- (6)Hadoop 组件启动的三种方式 + 配置SSH无密码登录
- Android定制组件的三种方式
- Android定制组件的三种方式(提供代码)
- android四大组件值Service(2)启动方式
- 【Android】资源文件拷贝的三种方式
- Android应用启动后自动创建桌面快捷方式
- Android drawText获取text宽度的三种方式