1

これらのクラスでは、開始時にアラームを設定し、10 秒後にアラームが開始されます。ユーザーがアラームを有効または無効にしているかどうかを確認するための sharedpreferences からの読み取りもあります。今、アプリがアクティブでないとき(再起動後など)、またはアプリが強制終了されたときもスターアラームが必要です。AlarmReceiver: MainActiAlarmRAlarmReceiver:eceiver:vity

public class MainActivity extends Activity {
AlarmReceiver:AlarmReceiver:
    Boolean set;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

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

        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0,
        intent, PendingIntent.FLAG_ONE_SHOT);

        // read from sharepreferences
//      [...]
        //

        if (set){

        AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
        alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (10 * 1000), pendingIntent);
        Toast.makeText(this, "Alarm set", Toast.LENGTH_LONG).show();
        }

    }

アラーム受信者:

public final class AlarmReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "Alarm worked.", Toast.LENGTH_LONG).show();

    }
}

マニフェスト:

<receiver android:name="AlarmReceiver"></receiver>
4

0 に答える 0