Wie kann ich sendBroadcast(intent) von myDialog und erhalten in myActivity?

So, ich bin versucht in den Griff zu bekommen BroadcastReceivers und Intent-Filter. Ich habe einen custom-Dialog, dass ich erstellen in MyActivity. In dem Dialog, ich habe eine Schaltfläche. Wann wird der button geklickt, ich möchte senden Sie ein broadcast, dass MyActivity receiver abholen. Hier ist, was ich jetzt haben:

//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>

Wenn ich drücken Sie auf button1, stürzt die app. Kann jemand mich führen, in die richtige Richtung?

InformationsquelleAutor Brianide | 2011-11-05
Schreibe einen Kommentar