Действие Intent_Filter не будет работать в AndroidManifest - PullRequest
0 голосов
/ 14 октября 2010

У меня есть Активность, которая также связана с конкретной трансляцией из собственного сервиса.Однако я заметил, что когда я добавляю это как действие в мой файл 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?

/ edit:

Попробовал следующее:

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

Это не сработает и выкинетa:

10-14 11: 57: 04.412: ОШИБКА / AndroidRuntime (11947): java.lang.RuntimeException: Невозможно создать экземпляр получателя development.android.myPlayer.nowPlayingGUI: java.lang.ClassCastException: development.android.myplayer.nowPlayingGUI

10-14 11: 57: 04.412: ОШИБКА / AndroidRuntime (11947): в android.app.ActivityThread.handleReceiver (ActivityThread.java:2520)

Ответы [ 3 ]

3 голосов
/ 01 ноября 2010

Я только что столкнулся с этой же проблемой. Попробуйте изменить порядок действий в этом фильтре намерений следующим образом:

<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>
0 голосов
/ 14 октября 2010

Вы добавили тег в свой 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>
0 голосов
/ 14 октября 2010

Вы можете иметь только одно действие на фильтр намерений (но вы можете иметь несколько категорий).Вместо этого добавьте дополнительный фильтр намерений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...