【问题标题】:Implicit Intent not being called未调用隐式意图
【发布时间】:2012-04-24 10:01:06
【问题描述】:

我正在尝试使用隐式意图在同一个应用程序中以及另一个应用程序(我的另一个应用程序,而不是本机应用程序)的活动中启动一个活动,但在任何情况下都无法成功。

这是我第一部分的示例代码(即在同一个应用程序中启动一个活动):

内部活动 TESTActivity

Intent intent = new Intent();
intent.setAction("com.myapp.game.myimplicit_action");
startActivity(intent);

这是我对某些活动的清单文件声明,例如“ImplicitActivity”,具有相同的操作:

<activity
   android:name=".TESTActivity"
   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=".ImplicitActivity">
   <intent-filter>
   <action android:name="com.myapp.test.myimplicit_action" />
   </intent-filter>
</activity>

TESTActivityImplicitActivity 这两个活动都在同一个包下的同一个应用程序中。我的ImplicitActivity 活动仍然没有被调用。

【问题讨论】:

    标签: android android-activity android-intent implicit


    【解决方案1】:

    我已经找到了问题所在。为面临同样问题的其他人发布答案。

    我们需要添加 默认类别 以使隐式意图起作用。所以这是相同活动的正确清单条目:

    <activity
       android:name=".TESTActivity"
       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=".ImplicitActivity">
       <intent-filter>
       <action android:name="com.myapp.test.myimplicit_action" />
       <category android:name="android.intent.category.DEFAULT" />
       </intent-filter>
    </activity>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-19
      • 1970-01-01
      • 2017-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-19
      相关资源
      最近更新 更多