微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用后台服务android启动应用程序

如何解决使用后台服务android启动应用程序

需要:当警报触发时,使用警报管理器启动应用程序。

已尝试: broadCast Receiver用于接收警报触发器并启动应用程序,但不启动应用程序。

@Override
public void onReceive(final Context context,Intent intent) {
  
    Intent myIntent = new Intent(context,MainActivity.class);
    myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(myIntent);
}

设置闹钟:

 public void startAlarm(Context context) {
    AlarmManager alarmMgr = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(this,RestartServicebroadcastReceiver.class);
    PendingIntent alarmIntent = PendingIntent.getbroadcast(context,intent,PendingIntent.FLAG_CANCEL_CURRENT);
    alarmMgr.setInexactRepeating(AlarmManager.RTC_WAKEUP,Calendar.getInstance().getTimeInMillis(),AlarmManager.INTERVAL_HOUR,alarmIntent);
}

清单:

<receiver android:name="com.android.cchhaatt.RestartServicebroadcastReceiver"
  android:enabled="true"
  android:exported="true"
  android:label="StartMyServiceAtBootReceiver"
  android:process=":remote">
<intent-filter>
  <action android:name="android.intent.action.BOOT_COMPLETED" />
  <action android:name="android.intent.action.QUICKBOOT_POWERON" />
  <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。