版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/txfyteen/article/details/44829435
一个应用程序是一个进程,那么我们如何启动另一个进程呢?
public void switchProcess(View v)
{
Intent intent = new Intent();
intent.setAction("android.txfy.action.customapp");
startActivity(intent);
}
?也就是启动其他的app。这里使用到了隐式意图。
一、A activity配置
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.txfy.action.customapp" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
启动另外一个app的关键配置就是
<!--给你启动的app提供一个自定义的action名字,系统会根据intent中action的名字去查找匹配适合他的应用程-->
<action android:name="android.txfy.action.customapp" />
<category android:name="android.intent.category.DEFAULT" />
注意:自定义的action必须要加上category(android.intent.category.DEFAULT),否则报错
二、B activity启动
public void switchProcess(View v)
{
Intent intent = new Intent();
intent.setAction("android.txfy.action.customapp");
startActivity(intent);
}
创建一个隐式Intent,指定他的action,系统会根据这个隐式intent去查找匹配,找到该activity后启动这个activity。
三、设置程序的多个入口
<span style="white-space:pre"> </span><activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MutilActivity"
android:label="@string/muti_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
一个app允许有多个入口,当你两个都指定了
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
应用程序会在桌面创建两个app的入口,都是打开同一个app,不过好像这样做没什么意义i