내 BroadcastReceiver
과 (과) 충돌하는 문제가 발생했습니다. 내가 그것을 사용하려고 그 다음에Android 브로드 캐스트 수신기, 수신하지 않습니까?
<receiver android:name="com.goosesys.gaggle.Main$UIUpdater">
<intent-filter>
<action android:name="com.goosesys.gaggle.populate"/>
</intent-filter>
</receiver>
그리고 것 :
JSONArray array = new JSONArray(xmppBack.getPayload());
Intent intent = new Intent(Constants.BC_POPULATE);
intent.setAction(Constants.BC_PROGRESSINIT);
intent.putExtra(Constants.BC_PROGRESSSIZE, array.length());
GaggleApplication.getContext().sendBroadcast(intent);
아, 그리고 상수 : 여기
public class UIUpdater extends BroadcastReceiver {
private final Handler handler;
public UIUpdater(Handler handler)
{
this.handler = handler;
}
@Override
public void onReceive(final Context context, final Intent intent)
{
String action = intent.getAction();
Log.i("MAIN", " >>> ACTION <<< : " + action);
if(action.equalsIgnoreCase("PROGRESSINIT"))
{
int size = intent.getIntExtra("PROGRESSSIZE", 0);
updatePopulateProgressSize(size);
}
handler.post(new Runnable(){
@Override
public void run(){
updatePopulateProgress(intent.getIntExtra("PROGRESS", 0));
}
});
}
}
가
매니페스트의 다음은 수신기의 정의입니다
public static final String BC_POPULATE = "com.goosesys.gaggle.populate";
public static final String BC_PROGRESSINIT = "PROGRESSINIT";
public static final String BC_PROGRESSSIZE = "PROGRESSSIZE";
public static final String BC_PROGRESSINC = "PROGRESSINC";
사실, 나는 각 부분을 모두 밟았으며 모두 괜찮습니다. 오류도 누출도 문제가 없습니다. 그냥 onReceive
은 팝되지 않습니다 것을 :(
나는 부드러운 주시기 바랍니다, 브로드 캐스트 리시버에 새로 온 사람, 사전에)
건배!
팁 주셔서 감사합니다. 매우 감사. 해킹은 모든 사람에게 공개되지 않는 회사 전달 응용 프로그램이므로 나를 괴롭게하지는 않지만, 사용자가 작성한 의견으로 인해 이벤트 버스를 사용하기로 결정했습니다. 정확히는 오토. 많은 감사합니다! – LokiSinclair
"greenrobot 's EventBus"에 감사드립니다. –