startActivity是什么意思
发布网友
发布时间:2022-04-28 17:06
我来回答
共3个回答
热心网友
时间:2022-06-19 21:25
startActivity有2种用法
1.显示调用。通过指明ComponentName,显示调用Activity,若
Intent intent = new Intent(CustomerService.this, DetailInfo.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(intent);
这种用法需要注意的是在AndroidManifest.xml声明一下Activity,
否则将报throws ActivityNotFoundException if there was no Activity found to run the given Inten
<activity android:name="CustomerService"
android:launchMode="singleTask"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
2.隐式调用,只需要指明ACTION就可以了,若
Intent intent = new Intent("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">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.android.customerservice.ACTION"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
需要注意的是,自定义的ACTION不能加在android.intent.action.MAIN所在的intent-filter中,必须添加在一个新的intent-filter中,同时必须设置category android:name="android.intent.category.DEFAULT,
否则将报throws ActivityNotFoundException if there was no Activity found to run the given Inten
热心网友
时间:2022-06-19 21:25
时启动意图的一个方法
热心网友
时间:2022-06-19 21:26
是错的吧