したがって、私はBroadcastReceiversとIntentフィルタのハンドルを取得しようとしています。 MyActivityで作成したカスタムダイアログがあります。ダイアログで、私はボタンを持っています。ボタンがクリックされると、MyActivityの受信者がピックアップするブロードキャストを送信したいと思います。ここで私が今持っているものです。myDialogからブロードキャスト(インテント)を送信してmyActivityで受信するにはどうすればよいですか?
//MyActivity.java
class myActivity extends Activity {
//MyDialog dialog initialized in onCreate
...
private class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//toast "Broadcast received"
}
}
}
//MyDialog.java
class MyDialog extends Dialog {
//m_context = incoming context from MyActivity
@Override
protected void onCreate(Bundle savedInstanceState) {
Button button1 = (Button)findViewById(R.id.button1);
button1.setOnClickListener(new View.OnCLickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent();
intent.setAction("android.intent.action.RUN");
m_context.sendBroadcast(intent);
}
});
}
}
//AndroidManifest.xml
<activity android:name=".MyActivity" />
<receiver android:name="MyReceiver" android:enabled="true">
<intent-filter >
<action android:name="android.intent.action.RUN"/>
</intent-filter>
</receiver>
私は、アプリのクラッシュをButton1を押すと。誰かが正しい方向に私を導くことができますか?
あなたは揺れます。ヒントをありがとう! – Brianide
ねえ、私はそれが働いていたが、今はあまり散発的ではない。あなたは放送を妨げることがあるものは何を知っていますか? – Brianide
これで、私はいくつかの放送と受信機を跳ね返そうとしています。私は、Dialogの放送がActivity1によって選ばれることを望みます。 Activity1はいくつかのことをしてから、Activity2のブロードキャストを送ってピックアップします。しかし、私がこれを試しても、どちらのアクティビティもその放送を受信していません。私は、新しい質問にコードを投稿すると思います。 – Brianide