我正在使用BroadcastReceiver在触发时启用按钮。我有一个运行一段时间的AlarmManager。当时间过去后,它会发送如下广播:
Intent i = new Intent("polarCap1Status");
i.putExtra("polarCap1Stat", true);
LocalBroadcastManager.getInstance(context).sendBroadcast(i);
我使用此代码接收广播:
//broadcast receiver to allow button to be clicked again
mMessageReceiver1 = new BroadcastReceiver()
{
@Override
public void onReceive(Context context, Intent intent)
{
clickOnOff1 = intent.getBooleanExtra("polarCap1Stat", false);
polarCap1.setEnabled(clickOnOff1);
updateScores();
resources.edit().putBoolean("pc1Set", false).commit();
}//end onReceive function
};
LocalBroadcastManager.getInstance(getApplicationContext()).registerReceiver(mMessageReceiver1, new IntentFilter("polarCap1Status"));
我的清单中有接收器设置如下:
<receiver android:name="com.twentytwentythree.sab.SetupTimerPC1" >
<intent-filter>
<action android:name="polarCap1Status" />
</intent-filter>
</receiver>
SetupTimerPC1是发送广播的类的名称。它将它发送到另一个名为runGraphics的类。
如果您需要更多信息,请与我们联系。
编辑:
我在清单中向接收器添加了一个intent-filter,但它没有改变任何东西。