3

我要注册一个 BroadcastReceiver 并向它传递一个我想在收到广播时显示的 id。

我想做的是在特定实例(即警报响起时)访问数据库条目,这就是我通过意图传递 id 的原因

View.OnClickListener saveHandler = new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        Log.d("Insert: ", "Inserting ..");

        mContext = getApplicationContext();
        objalarmManger = (AlarmManager) getSystemService(ALARM_SERVICE);

        Intent broadcastIntent = new Intent(mContext,
                MyBroadCastReceiver.class);
        broadcastIntent.putExtra("id",22);
        PendingIntent objPI = PendingIntent.getBroadcast(mContext, 0,
                broadcastIntent, 0);

        Calendar objC = Calendar.getInstance();
        objC.set(yearData, monthData, dayData, hour, min);
        objalarmManger.set(AlarmManager.RTC_WAKEUP, objC.getTimeInMillis(),
                objPI);
    }
};

广播接收器代码是

public class MyBroadCastReceiver extends BroadcastReceiver {

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

    int id = arg1.getIntExtra("id", 0);

    Toast.makeText(arg0, id, Toast.LENGTH_LONG).show();
    Log.d("Received", id + "");
}

}

我看不到任何 log cat entiers,代码实现有什么问题吗?任何帮助,将不胜感激 :)

4

0 回答 0