【发布时间】:2015-09-15 12:01:30
【问题描述】:
我有多个警报调用广播意图,而广播意图又调用位置服务。这个想法是在不同的时间获得位置。位置服务需要一些时间才能返回位置,之后它会关闭。 我想知道如果 2 个警报同时调用这个公共位置服务,或者说警报 1 已经调用了位置服务,而在第二个警报 2 也称为位置服务,因为我已经读过服务只有 1 个实例,会发生什么情况。
还有什么是处理我上面提到的案件的最佳方法?
Intent intent = new Intent(context, NotificationView.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.set(AlarmManager.RTC_WAKEUP, dateTime.getTimeInMillis(), pendingIntent);
在我的 NotificationView.class 我调用服务
Intent serviceIntent = new Intent(context,MyLocationService.class);
context.startService(serviceIntent); //start service for get location
在通过这个待定意图调用同一服务的某些秒的差异内可以安排多个警报。
【问题讨论】:
-
发布您的代码。我认为问题是你的pendingIntents应该包含不同的requestCodes,当你把它们放到Broadcast中时
-
@АндройдАндройд 已更新。此外,即使更改请求代码,服务也将保持不变?通过单独的未决意图调用。这将如何处理?
标签: android service location alarmmanager