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