是否可以在清单文件中将广播接收器定义为内部类? [英] Is it possible to define a broadcast receiver as an inner class in manifest file?

查看:27
本文介绍了是否可以在清单文件中将广播接收器定义为内部类?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在我的主要活动中创建一个广播接收器作为内部类.但是我在清单 xml 文件中定义广播接收器时遇到问题,因为安卓找不到.

I want to create a broadcast receiver as an inner class in my main activity. But I have problems defining the broadcast receiver in manifest xml file, because android can't find it.

代码:

public class MyActivity extends Activity{
    ...

    public class Receiver extends BroadcastReceiver{

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

    }

    ...
}

清单:

<receiver android:name=".org.danizmax.myapp.MyActivity$Receiver" android:enabled="true">
            <intent-filter>
                <action android:name="org.danizmax.myapp.BROADCAST_INITIAL_DATA"></action>
            </intent-filter>
</receiver>

我尝试过:

  • .org.danizmax.myapp.MyActivity$Receiver
  • org.danizmax.myapp.MyActivity$Receiver
  • .MyActivity$Receiver
  • .接收者

我看到其他人也有类似的问题,但没有找到任何答案.

I saw others also having similar problems, but did not find any answers.

这可能吗?如果没有,使用广播接收器的更好方法是什么?

So is it possible? If not, what's better way to use broadcast receivers?

谢谢!

推荐答案

是的,这是可能的.

接收者 android:name 属性应该类似于 .path.to.class.MyClass$MyInnerClass

The receiver android:name attribute should look like .path.to.class.MyClass$MyInnerClass

这篇关于是否可以在清单文件中将广播接收器定义为内部类?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆