0

登録または使用に成功しませんbroadCastReceiver

これは私のコードです:

   public class ReciverChangeProgress extends BroadcastReceiver{

    @Override
    public void onReceive(Context arg0, Intent arg1) {
        // TODO Auto-generated method stub
        android.util.Log.e("ReciverChagne", "IReciver");
    }

}

public ReciverChangeProgress reciverChangeProgress;
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.e("ReciverChange","onCreate");
    setContentView(R.layout.activity_progress);
    progressBar= (ProgressBar) findViewById(R.id.progressBar1);
    Log.e("ReciverChange","setProgress");
    progressBar.setProgress(UploadService.lastPercent);
    IntentFilter intentFilter=new IntentFilter("commoshe");
    registerReceiver(reciverChangeProgress,intentFilter);
    android.util.Log.e("ReciverChagne", "register");
    sendBroadcast(new Intent("commoshe"));
    android.util.Log.e("ReciverChagne", "Use");

}

アクティビティを実行すると、これはLogCatです。 ReciverChange, onCreate ReciverChange, setProgresS ReciverChange, regiseter ReciverChange, use

ただし、関数onReceiveは呼び出されませんでした。

ご協力ありがとうございました :)

4

2 に答える 2

1

私は成功します。

私はこれを忘れています:

reciverChangeProgress=new ReciverChangeProgress();

新しいオブジェクトをbroadcaseReceiverの新しいインスタンスとして設定する必要があります。

于 2013-01-06T16:02:54.287 に答える
0
reciverChangeProgress=new ReciverChangeProgress();

onReceive()呼び出されることはありません。BroadCastが送信されることはないからです。BroadCastReceiverを受信するために登録しました

BroadCastを送信するには、適切な方法を使用してこれらの方法を試してくださいIntentFilter

Intent intent = new Intent("commoshe");
sendBroadcast(intent);

それがあなたを助けるかもしれないことを願っています!

于 2013-01-06T16:03:58.737 に答える