如果应用程序至少启动一次,广播接收器不能在ICS中工作

时间:2012-03-31 02:47:00

标签: android android-intent broadcastreceiver android-4.0-ice-cream-sandwich broadcast

这个问题在堆栈溢出中已被问过几次,但还没有解决方案。 我有一个广播接收器用于接收USB连接动作。广播接收器的责任是,如果我得到意图启动我的应用程序。在清单文件中我添加了接收器。 我在GingerBread中使用相同的逻辑,但我ICS无效。 很多问题,比如 broadcast-not-invoking

1Android Boot-Up BroadCast Not invokingbroadcastreciever-not-working

如果我手动启动我的应用程序一次,那么从下次连接USB时,我的应用程序会自动启动。 试图回答同样的问题,但没有回答。 在ICS中有解决方案吗?

这是我的接收器

        <receiver android:name="com.test.MyReceiver">
                <intent-filter>
                    <action android:name="android.hardware.usb.action.USB_STATE" />
                    <action android:name="android.net.wifi.STATE_CHANGE" />
            <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
            <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
            <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
                </intent-filter>
            </receiver>
    and this is my class
    public class MyReceiver extends BroadcastReceiver {
    .
    .
    .

  public void onReceive(Context context, Intent intent) {
.

我在哪里错了?

提前致谢 --Kozlov

1 个答案:

答案 0 :(得分:11)

  

ICS有解决方法吗?

工作正常。从Android 3.1开始,在用户手动启动活动之前,BroadcastReceiver不起作用。 I blogged about this eight months ago