Svi*_*lav 4 android intentfilter
当我在这个主要方面宣布我的主要活动时:
<activity android:name=".MyActivity"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateHidden"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<action android:name="com.package.name.MyActivity"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
然后我No Activity found to handle Intent { act=com.package.name.MyActivity flg=0x24000000 }在使用此代码时出错:
Intent intent = new Intent("com.package.name.MyActivity");
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
如果不使用Intent i = new Intent(this, MyActivity.class);我怎么能做到这一点的帮助下action进行<intent-filter>
没有帮助:
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<action android:name="com.package.name.VIEW"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)
码:
Intent intent = new Intent("com.package.name.VIEW");
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
尝试指定两个intent过滤器:
<activity android:name=".MyActivity"
android:configChanges="orientation|keyboardHidden"
android:windowSoftInputMode="stateHidden"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="com.package.name.MyAction"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用操作名称启动活动:
Intent intent = new Intent("com.package.name.MyAction");
context.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
或者班级名称:
Intent intent = new Intent(context, MyActivity.class);
context.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13877 次 |
| 最近记录: |