我有服务,必须通过BradcastReceiver与活动(MyActivity)进行通信。这是广播接收器声明intosame活动,以便:Android:活动和服务通信
private class MessaggiReceiver extends BroadcastReceiver {
public static final String ACTION_RELOAD = "it.android.dev.thecode.ACTION_RELOAD";
@Override
public void onReceive(Context arg0, Intent intent) {
if(intent.getAction().equals(ACTION_RELOAD)){
leggi_act; //Method of MyActivity
}
}
}
但如何必须申报入清单包含MyActivity内brodcast?我用这个代码it.android.dev.thecode.MyActivity.MessaggiReceiver
<receiver android:name="it.android.dev.thecode.MyActivity.MessaggiReceiver">
<intent-filter>
<action android:name="it.android.dev.thecode.ACTION_RELOAD"></action>
</intent-filter>
</receiver>
但其实是错误,然后我用这个代码it.android.dev.thecode.myactivity $ MessaggiReceiver
<receiver android:name="it.android.dev.thecode.MyActivity$MessaggiReceiver">
<intent-filter>
<action android:name="it.android.dev.thecode.ACTION_RELOAD"></action>
</intent-filter>
</receiver>
谢谢
如果你在清单中声明它,那么实现它的类必须是可见的,即不是'private'。把它放在一个单独的文件中,并将课程设置为“public”。 – zapl 2012-03-23 23:02:44