当我宣布我的主要 Activity 时:

<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>

然后当我使用此代码时收到错误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);

如果不使用Intent i = new Intent(this, MyActivity.class);,如何在action的帮助下完成此操作

没有帮助:
 <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>

代码:
Intent intent = new Intent("com.package.name.VIEW");
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(intent);

最佳答案

尝试指定两个 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>

然后,您可以使用操作名称启动 Activity :
Intent intent = new Intent("com.package.name.MyAction");
context.startActivity(intent);

或类(class)名称:
Intent intent = new Intent(context, MyActivity.class);
context.startActivity(intent);

关于android - 如何在<intent-filter>的帮助下开始MAIN Activity ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11703143/

10-10 18:03
查看更多