Android 意向过滤行动获胜';我不能在安卓里工作

Android 意向过滤行动获胜';我不能在安卓里工作,android,action,android-manifest,intentfilter,Android,Action,Android Manifest,Intentfilter,我有一个活动,它还可以通过自制服务收听特定的广播。 但我注意到,当我将其作为一个操作添加到我的Androidmanifest文件中时,该应用程序在调试时实际上不会启动。 该活动也是我的主要活动: <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /&

我有一个活动,它还可以通过自制服务收听特定的广播。 但我注意到,当我将其作为一个操作添加到我的Androidmanifest文件中时,该应用程序在调试时实际上不会启动。 该活动也是我的主要活动:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

但是当我添加我自己的额外操作时,它根本不会接收广播,也不会在调试时自动启动

<intent-filter>
   <action android:name="android.intent.action.MAIN" />
   <category android:name="android.intent.category.LAUNCHER" />
   <action android:name="development.android.service.musicServiceUpdate">
</intent-filter>

你知道这里出了什么问题吗?或者为什么我的活动不能收听广播? 是否可以为.MAIN操作指定两个操作

/编辑:

尝试了以下操作:

<activity android:name=".nowPlayingGUI"
                  android:label="@string/app_name"
                  android:screenOrientation="portrait"
                    android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
                    android:launchMode="singleTask">    
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name=".nowPlayingGUI">
            <intent-filter>
                <action android:name="development.android.service.musicServiceUpdate"></action>
            </intent-filter>
        </receiver>

这不起作用,会抛出一个:

10-14 11:57:04.412:错误/AndroidRuntime(11947):java.lang.RuntimeException:无法实例化receiver development.android.myPlayer.nowPlayingGUI:java.lang.ClassCastException:development.android.myPlayer.nowPlayingGUI


10-14 11:57:04.412:ERROR/AndroidRuntime(11947):在android.app.ActivityThread.handleReceiver(ActivityThread.java:2520)

每个意图过滤器只能有一个操作(但可以有多个类别)。添加一个附加的意图过滤器。

每个意图过滤器只能有一个操作(但可以有多个类别)。添加一个额外的意图过滤器。

您是否已在androidmanifest.xml中添加了标记

假设您有一个活动和一个广播接收器,我认为您的清单xml将在应用程序标记中包含类似的内容:

    <activity android:name=".Main"
              android:label="@string/app_name">
        <intent-filter>
              <action android:name="android.intent.action.MAIN" />
              <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <receiver android:name =".myreceiver">
           <intent-filter>
              <action android:name=development.android.service.musicServiceUpdate />
         </intent-filter>
    </receiver>

您是否在androidmanifest.xml中添加了标记

假设您有一个活动和一个广播接收器,我认为您的清单xml将在应用程序标记中包含类似的内容:

    <activity android:name=".Main"
              android:label="@string/app_name">
        <intent-filter>
              <action android:name="android.intent.action.MAIN" />
              <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <receiver android:name =".myreceiver">
           <intent-filter>
              <action android:name=development.android.service.musicServiceUpdate />
         </intent-filter>
    </receiver>

我遇到了同样的问题。尝试将该意图筛选器中的操作顺序更改为:

<intent-filter>
   <action android:name="development.android.service.musicServiceUpdate">
   <action android:name="android.intent.action.MAIN" />
   <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

我遇到了同样的问题。尝试将该意图筛选器中的操作顺序更改为:

<intent-filter>
   <action android:name="development.android.service.musicServiceUpdate">
   <action android:name="android.intent.action.MAIN" />
   <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>



它应该有一个类别吗?或者一个操作就足够了?如果你想添加一个额外的活动,你至少应该添加“default”标签。如果你想注册一个广播接收器,这个上面的答案就是你想要的。事实上,它是完全相同的活动,既应该是主要的,也应该是接收器…顺便说一句,谷歌的例子:实际上显示了一个意图过滤器,有3个动作!!!我被纠正了。我相信如果你想在清单中列出接收者的意图,你仍然需要将其分离出来。它应该有一个类别吗?或者一个操作就足够了?如果你想添加一个额外的活动,你至少应该添加“default”标签。如果你想注册一个广播接收器,这个上面的答案就是你想要的。事实上,它是完全相同的活动,既应该是主要的,也应该是接收器…顺便说一句,谷歌的例子:实际上显示了一个意图过滤器,有3个动作!!!我被纠正了。我相信如果您想在清单中列出它,您仍然需要分离出接收者意图。好的,尝试了这个,现在当广播应该由相同的活动接收时,它将抛出10-14 11:57:04.412:ERROR/AndroidRuntime(11947):java.lang.RuntimeException:无法实例化receiver development.android.myPlayer.nowPlayingGUI:java.lang.ClassCastException:development.android.myPlayer.nowPlayingGUI 10-14 11:57:04.412:错误/AndroidRuntime(11947):在android.app.ActivityThread.HandlerReceiver(ActivityThread.java:2520)@老虎:我认为你需要为每个活动、服务、广播接收器和内容提供商设置不同的课程。你必须在清单文件中提到你的app.wat中每秒有多少活动、接收者、提供者或服务。。。一个活动也应该是一个广播接收器,对吗?不,不……android应用程序的4个不同构建块或组件是活动、广播接收器、内容提供商和服务。你不能把它们弄乱。您可以创建一个接收器并在活动中注册该接收器。您可以在主活动中实例化并注册一个广播接收器,并在同一活动中为该接收器设置过滤器(如果您的目标是这样的话)。在这种情况下,您不会在清单中列出广播接收器的筛选器。而是在主活动中使用registerReceiver(在其中设置意图过滤器)和unregisterReceiver。如果您正在寻找与此不同的内容,请更具体。好的,尝试此操作,现在当广播应通过相同的活动接收时,它将抛出10-14 11:57:04.412:ERROR/AndroidRuntime(11947):java.lang.RuntimeException:无法实例化receiver development.android.myPlayer.nowPlayingGUI:java.lang.ClassCastException:development.android.myPlayer.nowPlayingGUI 10-14 11:57:04.412:错误/AndroidRuntime(11947):在android.app.ActivityThread.HandlerReceiver(ActivityThread.java:2520)@老虎:我认为你需要为每个活动、服务、广播接收器和内容提供商设置不同的课程。你必须在清单文件中提到你的app.wat中每秒有多少活动、接收者、提供者或服务。。。一个活动也应该是一个广播接收器,对吗?不,不……android应用程序的4个不同构建块或组件是活动、广播接收器、内容提供商和服务。你不能把它们弄乱。您可以创建一个接收器并注册re