Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/211.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
Java BroadcastReceiver onReceive函数中的调用类函数_Java_Android - Fatal编程技术网

Java BroadcastReceiver onReceive函数中的调用类函数

Java BroadcastReceiver onReceive函数中的调用类函数,java,android,Java,Android,我有一个带有BroadcastReceiver的服务如何从BroadcastReceiver的onReceive函数调用服务类中的函数?如果我不能,我能做什么?下面是一些代码: public class MyService extends Service { private BroadcastReceiver broadcastReceiver; @Override public IBinder onBind(Intent arg0) { return


我有一个带有
BroadcastReceiver
的服务
如何从
BroadcastReceiver
onReceive
函数调用服务类中的函数?
如果我不能,我能做什么?
下面是一些代码:

public class MyService extends Service {
    private BroadcastReceiver broadcastReceiver;

    @Override
    public IBinder onBind(Intent arg0) {
        return null;
    }

    @Override
    public void onCreate() {
        broadcastReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                ... // How to call myFunction() here?
            }
        };
        ... // intentFilter, registerReceiver, etc...
    }

    private void myFunction() {
        ... // do something
    }
}

你可以这样称呼它:

    broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            myFunction();
        }
    };
    broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            MyService.this.myFunction();
        }
    };
或者,如果
myFunction
BroadcastReceiver
方法具有相同的名称,则可以像下面这样显式调用外部类方法:

    broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            myFunction();
        }
    };
    broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            MyService.this.myFunction();
        }
    };

你可以这样称呼它:

    broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            myFunction();
        }
    };
    broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            MyService.this.myFunction();
        }
    };
或者,如果
myFunction
BroadcastReceiver
方法具有相同的名称,则可以像下面这样显式调用外部类方法:

    broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            myFunction();
        }
    };
    broadcastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            MyService.this.myFunction();
        }
    };

我写错了函数名,所以IDE没有找到函数,我认为他们的函数很特别。谢谢,我写错了函数名,所以IDE没有找到这个函数,我认为他们的函数很特别。非常感谢。