1

アラームを設定して、特定の時間に放送受信機を呼び出そうとしています。まったく呼び出されていないようです。logcat でデバッグしようとしています。

アラームの私の設定は次のようなものです:

    AlarmManager alarm = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    Calendar notifyAlarm = Calendar.getInstance();

    notifyAlarm.set(Calendar.HOUR, 17);
    notifyAlarm.set(Calendar.MINUTE, 00);
    Intent intent = new Intent(this, AlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this.getApplicationContext(), 2378530, intent, 0);
    alarm.set(AlarmManager.RTC_WAKEUP, notifyAlarm.getTimeInMillis(), pendingIntent);

私の受信機は次のとおりです。

    public class AlarmReceiver extends BroadcastReceiver {

private static final String TAG ="test receiver";
@Override
public void onReceive(Context context, Intent intent) {
    // TODO Auto-generated method stub


    Log.v(TAG, "receiver called");

}



    }

私が持っているマニフェストにも:

    </activity>
    <receiver android:name="AlarmReceiver"></receiver>
</application>

どんな助けでも感謝します。

4

1 に答える 1

-1

考えてみるとBroadcastReceiver、明示的にブロードキャストを送信できるかどうかはわかりませんIntent...

Intent intent = new Intent(this, AlarmReceiver.class);

<receiverセクションに例を挙げてみてください<intent-filter>...

<receiver android:name=".AlarmReceiver">
    <intent-filter>
        <action android:name="com.mypackage.ACTION_DO_SOMETHING" />
    </intent-filter>
</receiver>

次に、を作成するときIntentは、次のようにします...

Intent intent = new Intent("com.mypackage.ACTION_DO_SOMETHING");
于 2012-11-10T17:46:52.750 に答える