请阐述调用Activity有哪几种方法,并写出相关的Java代码
请阐述调用Activity有哪几种方法,并写出相关的Java代码。
答案:可以采用两种方式调用Activity:显示调用和隐式调用。显示调用直接指定了Activity,代码如下:
Intent intent=new Intent(this,MyActivity.class);
//调用MyActivity
startActivity(intent);
隐式调用通过Activity Action来调用Activity。这种方式可以调用当前应用程序中的Activity,也可以调用其他应用程序中的Activity。隐式调用的代码如下:
//指定Activity Action
Intent intent=new Intent("mobile.android.MYACTION");
//调用可接受MYACTION动作的Activity,如果系统中有多个Activity可接受MAIN动作,
//则会显示一个菜单供用户选择调用哪个Activity
startActivity(intent);
隐式意图的激活方法:系统首先查询一个系统注册表(位于手机的data\system\packages.xml文件中),当查找到与之对应的数据后才将对应的组件激活,这个过程是先查询后激活,效率相对于显示意图要低一些。如果组件在不同的应用程序里面,则不能通过显示意图来激活,这时我们需要借助隐式意图。
显示意图的应用场景:在当前应用程序里去激活自己的组件,直接通过指定组件名即可激活,效率较高。