如何发射广播接收器?

时间:2011-06-22 16:42:22

标签: android broadcastreceiver

我有一个扩展广播接收器的类。我的问题是我将如何在另一个类中调用此活动...我试图为它创建一个intent但我不断收到语法错误。这是启动广播接收器的另一种方式吗?

2 个答案:

答案 0 :(得分:2)

你必须使用

 Intent intent = new Intent( "mypackage.myaction" );
 activity.sendBroadCast( intent );

活动是启动BroadcastReceiver和Intent的活动,其意图与清单文件中BroadcastReceiver的过滤器匹配。

您将执行以下操作:

<receiver android:name="your broadcast receiver class" android:label="a name">
    <intent-filter>
        <action android:name="mypackage.myaction" />
    </intent-filter>
</receiver>

此致    斯特凡

答案 1 :(得分:2)

IntentFilter filter = new IntentFilter("com.mydefinepackage.myactivity");
this.registerReceiver(new Receiver(), filter);

声明此私有类并在myactivity Activity中使用上面的代码。

private class Receiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context arg0, Intent arg1) {
        myOwnMethod();
    }
}

从任何其他活动执行此代码。然后将调用myOwnMethod。

Intent i =new Intent("com.mydefinepackage.myactivity");
sendBroadcast(i);