小编CSG*_*G01的帖子

当我的应用程序在 Android 10/Q 上关闭时,如何触发启动 Activity 意图?

我正在尝试创建一个将在指定时间打开另一个应用程序的应用程序。为此,我使用了启动服务的 AlarmManager。如果我的应用程序在触发警报时打开,它就可以正常工作。我收到服务启动的通知,并且另一个应用程序打开。但是,如果我的应用程序在后台(按主页按钮后),并且警报触发,我会收到服务已启动的通知,但其他应用程序不会启动。我究竟做错了什么?我正在运行 API 级别 29 (Android 10/Q) 的 Pixel 3 模拟器上对此进行测试。

MainActivity.java

public class MainActivity extends AppCompatActivity {

    public static final int REQUEST_CODE=101;
    public static int aHour;
    public static int aMinute;

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

    public void setAlarm() {
        AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
        Intent intent = new Intent(this, amReceiver.class);
        PendingIntent pendingIntent = PendingIntent.getBroadcast(this, REQUEST_CODE, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        Calendar calendar = Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());
        calendar.set(Calendar.HOUR_OF_DAY, aHour);
        calendar.set(Calendar.MINUTE, aMinute);
        am.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
    }

    //Some code that sets aHour …
Run Code Online (Sandbox Code Playgroud)

java android android-intent android-service android-studio

2
推荐指数
1
解决办法
3517
查看次数