在android的应用开发时有这样一种场景。A程序需要启动B程序。这里介绍使用到android的intent来启动的两种方式。
1、intent和ComponentName启动,具体代码如下:
Intent intent = new Intent();
ComponentName comp = new ComponentName("com.xx.xx.xx", "com.xx.xx..main.MainActivity"); //com.xx.xx.xx为app的包名
intent.setComponent(comp);
startActivity(intent);
代码很简单,就不详细解释。
2、使用intent的隐式方式启动。
使用隐式启动时,需要在AndroidManifest.xml文件中对应被启动的activity中添加intent-filter,利用intent-filter来启动。
<activity
android:name="com.xx.xx.xx.main.MainActivity"
android:configChanges="locale"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize" >
<intent-filter>
<action android:name="com.xx.xx.xx.main.MainActivity"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
重点需要说明的是,一定要添加 <category android:name="android.intent.category.DEFAULT"/> ,否则隐式启动有问题。
接着就是通过intent进行启动了,代码如下:
Intent intent = new Intent();
intent.setAction("com.xx.xx.xx.main.MainActivity");
startActivity(intent);
以上就是两种启动的方式。