MEDIA_MOUNTED трансляция не принимается - PullRequest
11 голосов
/ 22 августа 2011

Я сбит с толку.Я пытаюсь настроить свое приложение так, чтобы оно реагировало на то, что SD-карта становится доступной / переходит в автономный режим, но мой приемник вещания никогда не вызывается!

Я вижу трансляцию события и другие приложения, которые отвечают:

08-21 23:43:04.405: DEBUG/Ringer(275): -- intent.getAction() =android.intent.action.MEDIA_MOUNTED

И у моего манифеста объявлен получатель:

    <receiver android:name=".Test" android:enabled="true">
        <intent-filter>
            <action android:name="android.intent.action.MEDIA_MOUNTED" />
        </intent-filter>
    </receiver>

И у моего получателя есть метод onReceive:

public class Test extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("#########", "##############################################################");
        Log.d("#########", "Obligitory snarky and/or funny logging comment...");
        Log.d("#########", "##############################################################");
    }
}

И все же выиграл вещь & ^% $не вызывать Test.onReceive ().Есть мысли?

Ответы [ 2 ]

40 голосов
/ 22 августа 2011

Ты не можешь быть серьезным. Видимо мне нужно было добавить дополнительный фильтр для типа данных.

Оставив ответ для "следующего парня" ...

<receiver android:name=".Test" android:enabled="true">
    <intent-filter>
        <action android:name="android.intent.action.MEDIA_MOUNTED" />
        <data android:scheme="file"/>
    </intent-filter>
</receiver>
8 голосов
/ 22 августа 2011

Вы пытаетесь добавить тег <data android:scheme="file" /> в <intentfilter>, иначе выполните регистрацию во время выполнения.
Во время выполнения создайте объект вашего широковещательного приемника и передайте его registerReceiver(obj).

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