Android启动组件的三种主流及若干非主流方式

简介:                                                       本文来自http://blog.


                                                      本文来自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"代表它成为全局变量,所有的进程中公用此组件


目录
相关文章
|
2月前
|
设计模式 Android开发
[Android 四大组件] --- BroadcastReceiver
[Android 四大组件] --- BroadcastReceiver
33 0
|
3月前
|
Android开发 开发者
什么是Android Jetpack,它包括哪些组件?
什么是Android Jetpack,它包括哪些组件?
42 0
|
4月前
|
数据库 Android开发
Android Studio开发之应用组件Application的讲解及实战(附源码,通过图书管理信息系统实战)
Android Studio开发之应用组件Application的讲解及实战(附源码,通过图书管理信息系统实战)
51 0
|
4月前
|
XML Java Android开发
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
Android Studio开发之使用内容组件Content获取通讯信息讲解及实战(附源码 包括添加手机联系人和发短信)
88 0
|
13天前
|
存储 数据库 Android开发
构建高效安卓应用:采用Jetpack架构组件优化用户体验
【4月更文挑战第12天】 在当今快速发展的数字时代,Android 应用程序的流畅性与响应速度对用户满意度至关重要。为提高应用性能并降低维护成本,开发者需寻求先进的技术解决方案。本文将探讨如何利用 Android Jetpack 中的架构组件 — 如 LiveData、ViewModel 和 Room — 来构建高质量的安卓应用。通过具体实施案例分析,我们将展示这些组件如何协同工作以实现数据持久化、界面与逻辑分离,以及确保数据的即时更新,从而优化用户体验并提升应用的可维护性和可测试性。
|
2月前
|
数据可视化 Android开发
[Android 四大组件] --- Service
[Android 四大组件] --- Service
24 0
|
2月前
|
Android开发
[Android 四大组件] --- Activity
[Android 四大组件] --- Activity
22 1
|
2月前
|
存储 数据库 Android开发
安卓四大组件是什么?
安卓四大组件是什么?
|
3月前
|
数据库 Android开发 开发者
Android基础知识:什么是Android应用的四大组件?
Android基础知识:什么是Android应用的四大组件?
62 1
|
4月前
|
XML 安全 Java
Android Studio App开发之广播组件Broadcast的讲解及实战(包括收发标准、有序、静态广播实现手机震动功能 附源码)
Android Studio App开发之广播组件Broadcast的讲解及实战(包括收发标准、有序、静态广播实现手机震动功能 附源码)
42 0