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

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

问题描述

我想创建一个广播接收器作为我的主要活动的内部类。 但我确定在清单xml文件的广播接收器的问题, 由于Android无法找到它。

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.

code:

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 $接收器
  • org.danizmax.myapp.MyActivity $接收器
  • .MyActivity $接收器
  • 。接收机

我看到别人也有类似的问题,但没有找到任何答案。

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天全站免登陆