我使用显式Intent将一个活动转到另一个活动,并在清单文件中声明它.
<activity
android:name=".Activity2"
android:label="Activity 2">
<intent-filter
action android:name="com.tr.ACTIVITY2"
category android:name=”android.intent.category.DEFAULT">
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
它工作正常,但有一本书intent-filter用于此,我很困惑当我们使用意图过滤器.
hor*_*tza 12
当你使用明确的意图时,就像你告诉Android"打开Activity2".
当你使用隐式意图时,你告诉Android:"打开一个可以做这些事情的活动".这些东西实际上是您在Activity2的清单中编写的过滤器.
例如,如果您在Activity1中并想要启动Activity2:
你可以明确:
Intent intent = new Intent(Activity1.this, Activity2.class);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
或暗示:
Intent intent = new Intent();
intent.addAction("myAction");
intent.addCategory("myCategory");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您应该在清单文件中具有以下内容:
<activity android:name=".Activity2">
<intent-filter>
<action android:name="myAction"/>
<category android:name="myCategory"/>
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3274 次 |
| 最近记录: |