StartActivity的2种用法

本文详细介绍了在Android应用中启动Activity的两种主要方法:显示调用和隐式调用。显示调用通过直接指定目标Activity的类名进行,而隐式调用则依赖于广播的ACTION,需要在AndroidManifest.xml中正确配置intent-filter。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

startActivity有2种用法

1.显示调用。通过指明ComponentName,显示调用Activity,若

Intent intent = newIntent(CustomerService.this, DetailInfo.class);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

mContext.startActivity(intent);

这种用法需要注意的是在AndroidManifest.xml声明一下Activity,

否则将报throws if therewas no Activity found to run the given Inten

<activity android:name=“CustomerService”

android:launchMode=“singleTask”

android:exported=“true”>

categoryandroid:name=“android.intent.category.LAUNCHER”/

2.隐式调用,只需要指明ACTION就可以了,若

Intent intent = newIntent(“com.android.customerservice.ACTION”);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

mContext.startActivity(intent);

这种用法在AndroidManifest.xml声明Activity需要在intent-filter中添加该ACTION

<activity android:name=“CustomerService”

android:launchMode=“singleTask” android:exported=“true”>

categoryandroid:name=“android.intent.category.LAUNCHER”/

actionandroid:name=“com.android.customerservice.ACTION”/

categoryandroid:name=“android.intent.category.DEFAULT”/

需要注意的是,自定义的ACTION不能加在android.intent.action.MAIN所在的intent-filter中,必须添加在一个新的intent-filter中,同时必须设置categoryandroid:name="android.intent.category.DEFAULT,

否则将报throws if therewas no Activity found to run the given Inten

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值