ank*_*nfo 57 android intentfilter android-intent
在我的Android应用程序中,我想从最初的活动'A'开始一个活动'B'.我已经为这两个创建了类.但是,当使用以下代码启动B时,我收到运行时错误:application has stopped unexpectedly, try again.这是我的代码:
Intent myIntent = new Intent(this, AddNewActivity.class);
startActivity(myIntent);
Run Code Online (Sandbox Code Playgroud)
当我AndroidManifest.xml/manifest/application/activity/intent-filers为活动B 添加新条目时,应用程序工作.
我有两个问题:
AndroidManifest.xml,android如何知道首先启动哪个活动?这是我的偏爱 AndroidManifest.xml
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".ListAllActivity"
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=".AddNewActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
Run Code Online (Sandbox Code Playgroud)
小智 73
意图过滤器是应用程序清单文件中的表达式,用于指定组件要接收的意图类型.
当您创建隐式intent时,Android系统会通过将intent的内容与设备上其他应用程序的manifest文件中声明的intent过滤器进行比较来找到适当的组件.如果intent与intent过滤器匹配,则系统启动该组件并将其传递给Intent对象.
AndroidManifest.xml中
<activity android:name=".HelloWorld"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http" android:host="androidium.org"/>
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
启动HelloWorld
Intent intent = new Intent (Intent.ACTION_VIEW, Uri.parse("http://androidium.org"));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100057 次 |
| 最近记录: |