Я тестировал этот код на Android O, но я не уверен в других версиях Android, пожалуйста, сообщите мне, если это не работает на любой другой версии Android.

листал дюжину учебных пособий и ответов на форумах по этой проблеме, но все еще не смог собрать некоторый рабочий код. Я постараюсь уточнить вопрос:

Как вы используете AlarmManager (в Android API), чтобы запустить действие в определенный момент времени? Любое решение этой проблемы подойдет.

Моя последняя попытка добиться этого ниже.

(Импорт пропущен. Я ожидаю, что MyActivity запустится через 3 секунды после открытия программы, чего не происходит. Нет сообщений об ошибках, о которых можно было бы говорить.)

public class AndroidTest2Activity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Context context = this;//.getApplicationContext();

        AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE); // CORRECT
        Intent intent = new Intent(context, myReceiver.class); // CORRECT
        PendingIntent pending = PendingIntent.getBroadcast( context, 0, intent, 0 ); // CORRECT
        manager.set( AlarmManager.RTC, System.currentTimeMillis() + 3000, pending ); // CORRECT

        setContentView(R.layout.main);
    }
}

public class myReceiver extends BroadcastReceiver {
    public void onReceive(Context context, Intent intent) {
        Intent i=new Intent(context, myActivity.class);
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);
    }
}

public class myActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d("", "Elusive success");
        setContentView(R.layout.main);
    }
}

Любой совет будет принят во внимание.

Обратите внимание: у меня уже есть myReceiver в манифесте

Ответы на вопрос(6)

Ваш ответ на вопрос