Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android广播接收器,不接收?_Android_Broadcastreceiver - Fatal编程技术网

Android广播接收器,不接收?

Android广播接收器,不接收?,android,broadcastreceiver,Android,Broadcastreceiver,我的BroadcastReceiver有问题,从未被解雇。以下是接收器的定义: public class UIUpdater extends BroadcastReceiver { private final Handler handler; public UIUpdater(Handler handler) { this.handler = handler; } @Override

我的
BroadcastReceiver
有问题,从未被解雇。以下是接收器的定义:

    public class UIUpdater extends BroadcastReceiver {
        private final Handler handler;
        public UIUpdater(Handler handler)
        {
            this.handler = handler;
        }

        @Override
        public void onReceive(final Context context, final Intent intent)
        {           
            String action = intent.getAction();
            Log.i("MAIN", " >>> ACTION <<< : " + action);

            if(action.equalsIgnoreCase("PROGRESSINIT"))
            {
                int size = intent.getIntExtra("PROGRESSSIZE", 0);
                updatePopulateProgressSize(size);
            }

            handler.post(new Runnable(){
                @Override
                public void run(){
                    updatePopulateProgress(intent.getIntExtra("PROGRESS", 0));                  
                }
            });
        }
    }
哦,还有常数:

public static final String BC_POPULATE              = "com.goosesys.gaggle.populate";
public static final String BC_PROGRESSINIT          = "PROGRESSINIT";
public static final String BC_PROGRESSSIZE          = "PROGRESSSIZE";
public static final String BC_PROGRESSINC           = "PROGRESSINC";
问题是,我已经完成了每一个部分,一切都很好,没有错误,没有泄漏,没有问题。只不过从来不会弹出接收的
onReceive

我是新来的,请温柔点;)


提前干杯

如果您查看LogCat,您会发现一个警告或错误,堆栈跟踪抱怨Android无法创建
UIUpdater
的实例。这有两个原因:

  • 它不是一个
    static
    内部类,因此框架无法创建它的实例(实例只能由外部
    Main
    类实例创建)

  • 它没有零参数构造函数,框架将使用零参数构造函数


  • 此外,对于这样的常规系统广播来说,这不是一个好的用例。请使用进程内事件总线(
    LocalBroadcastManager
    、Square的Otto、greenrobot的EventBus等)。这将提高性能(没有IPC),提高安全性(现在,任何人都可以攻击你的接收器),并可能简化你的代码(如果你使用Otto或EventBus)。

    如果你查看LogCat,你会发现警告或错误,堆栈跟踪抱怨Android无法创建
    UIUpdater
    的实例。这有两个原因:

  • 它不是一个
    static
    内部类,因此框架无法创建它的实例(实例只能由外部
    Main
    类实例创建)

  • 它没有零参数构造函数,框架将使用零参数构造函数


  • 此外,对于这样的常规系统广播来说,这不是一个好的用例。请使用进程内事件总线(
    LocalBroadcastManager
    、Square的Otto、greenrobot的EventBus等)。这将提高性能(没有IPC),提高安全性(现在,任何人都可以攻击你的接收器),并可能简化你的代码(如果你使用Otto或EventBus)。

    如果你查看LogCat,你会发现警告或错误,堆栈跟踪抱怨Android无法创建
    UIUpdater
    的实例。这有两个原因:

  • 它不是一个
    static
    内部类,因此框架无法创建它的实例(实例只能由外部
    Main
    类实例创建)

  • 它没有零参数构造函数,框架将使用零参数构造函数


  • 此外,对于这样的常规系统广播来说,这不是一个好的用例。请使用进程内事件总线(
    LocalBroadcastManager
    、Square的Otto、greenrobot的EventBus等)。这将提高性能(没有IPC),提高安全性(现在,任何人都可以攻击你的接收器),并可能简化你的代码(如果你使用Otto或EventBus)。

    如果你查看LogCat,你会发现警告或错误,堆栈跟踪抱怨Android无法创建
    UIUpdater
    的实例。这有两个原因:

  • 它不是一个
    static
    内部类,因此框架无法创建它的实例(实例只能由外部
    Main
    类实例创建)

  • 它没有零参数构造函数,框架将使用零参数构造函数


  • 此外,对于这样的常规系统广播来说,这不是一个好的用例。请使用进程内事件总线(
    LocalBroadcastManager
    、Square的Otto、greenrobot的EventBus等)。这将提高性能(没有IPC),提高安全性(现在,任何人都可以攻击你的接收器),并可能简化你的代码(如果你使用Otto或EventBus)。

    你需要在某个地方注册你的接收器。通常在onCreate方法中,我会这样做:

    registerReceiver(new UIUpdater(mhandler), new IntentFilter());
    

    你需要在某处注册你的接收者。通常在onCreate方法中,我会这样做:

    registerReceiver(new UIUpdater(mhandler), new IntentFilter());
    

    你需要在某处注册你的接收者。通常在onCreate方法中,我会这样做:

    registerReceiver(new UIUpdater(mhandler), new IntentFilter());
    

    你需要在某处注册你的接收者。通常在onCreate方法中,我会这样做:

    registerReceiver(new UIUpdater(mhandler), new IntentFilter());
    

    谢谢你的提示,马克。非常感谢。黑客攻击并不困扰我,因为它是一个公司交付应用程序,不向所有人开放,但由于您的评论,我决定继续使用事件总线。准确地说,奥托。非常感谢!谢谢“绿色机器人的活动巴士”。谢谢你的提示,马克。非常感谢。黑客攻击并不困扰我,因为它是一个公司交付应用程序,不向所有人开放,但由于您的评论,我决定继续使用事件总线。准确地说,奥托。非常感谢!谢谢“绿色机器人的活动巴士”。谢谢你的提示,马克。非常感谢。黑客攻击并不困扰我,因为它是一个公司交付应用程序,不向所有人开放,但由于您的评论,我决定继续使用事件总线。准确地说,奥托。非常感谢!谢谢“绿色机器人的活动巴士”。谢谢你的提示,马克。非常感谢。黑客攻击并不困扰我,因为它是一个公司交付应用程序,不向所有人开放,但由于您的评论,我决定继续使用事件总线。准确地说,奥托。非常感谢!感谢“绿色机器人的活动巴士”。