2017-02-20 71 views
-2

我有一个服务,它只在应用程序启动时第一次运行。在这项服务中,我正在安排一个警报,每30分钟发送一次通知。Android首次运行服务更新

现在我修改了该服务,每1小时发送一次通知。然后将其上传到Play商店。

现在,如果用户正在从Play商店更新应用程序。他们会每隔30分钟或1小时收到通知吗?如果间隔时间仍然是30分钟,那么解决方法是什么?

+0

我在慢速上网,所以我不能添加所有标签。 –

+0

我想这个服务有很多问题。您是否尝试过搜索关于您的问题的堆栈溢出? –

回答

0

如果您知道未决警报的请求代码,那么您可以先取消已启动的未决意图。像这样,

public void cancelPendingIntent(Context mContext,int requestCode,Intent intent){ 
    try { 
     PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, requestCode, intent,0); 
     AlarmManager am=(AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE); 
     am.cancel(pendingIntent); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

然后,您可以用新的挂起的意图重新设置警报。

PendingIntent pendingIntent = PendingIntent.getBroadcast(mContext, requestCode, myIntent,0); 

cancelPendingIntent(mContext,requestCode,myIntent); 

AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); 
alarmManager.setRepeating(//Set your alarm here);