Intent之——跨进程启动Activity和设置程序的多个入口

一个应用程序是一个进程,那么我们如何启动另一个进程呢?

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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值