0
서비스에서 일부 작업이 수행 된 후 UI (활동)를 업데이트하려고합니다. 이것은 매우 간단한 예이지만 그것은 나를 위해 작동하지 않습니다. 내가 여기서 무엇을 놓치고 있니?봉사 활동에 대한 커뮤니케이션
ExampleService :
public class ExampleService extends IntentService{
@Override
protected void onHandleIntent(Intent intent) {
notifyActivity();
}
private void notifyActivity() {
Intent broadcast = new Intent(this, ExampleActivity.class);
sendBroadcast(broadcast);
}
}
ExampleActivity : 당신은 익명의 동적 수신기에 그런 식으로 브로드 캐스트를 보낼 수 없습니다
public class ExampleActivity extends ListActivity {
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(getApplicationContext(), "received", Toast.LENGTH_SHORT).show();
}
};
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(receiver);
}
@Override
public void onResume() {
super.onResume();
IntentFilter filter = new IntentFilter();
registerReceiver(receiver, filter);
}
}
호환성 패키지에서 LocalBroadcastManager를 사용할 수 있습니까? 내가 다운로드 한 v4에서 찾을 수 없습니다. – karruma
인 텐트의 액션 문자열에 관해서는 규칙이 있습니까? 아니면 'example.action.string'을 넣을 수 있습니까? – karruma
@karruma : "LocalBroadcastManager가 호환성 패키지에서 사용 가능합니까?" -- 예. "Intents의 동작 문자열에 관해서는 규칙이 있습니까?"- LocalBroadcastManager의 경우 원하는대로 사용하십시오. "실제"브로드 캐스트의 경우 문자열이 고유하기를 원하므로 일반적으로 응용 프로그램의 패키지가 접두어로 사용됩니다. – CommonsWare