У меня есть служба, которая должна взаимодействовать с Activity (MyActivity) через BradcastReceiver. Это BroadcastReceiver это объявить 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
}
}
}
но как должны объявить в манифесте в brodcast содержащуюся в MyActivity? Я использовал этот код с 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