Java 如何让我的应用程序在给定时间定期发送短信?
我正在使用android studio和java 我已设法使用AlarmManager在给定时间定期获取通知。但是,这是否可能与SmsManager有关?有人对如何做到这一点有什么建议吗 我和AlarmManager是怎么做到的Java 如何让我的应用程序在给定时间定期发送短信?,java,android,Java,Android,我正在使用android studio和java 我已设法使用AlarmManager在给定时间定期获取通知。但是,这是否可能与SmsManager有关?有人对如何做到这一点有什么建议吗 我和AlarmManager是怎么做到的 Calendar c = Calendar.getInstance(); c.setTimeInMillis(System.currentTimeMillis()); c.set(Calendar.HOUR_OF_DAY,18);
Calendar c = Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
c.set(Calendar.HOUR_OF_DAY,18);
c.set(Calendar.MINUTE,4);
c.set(Calendar.SECOND,2);
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
alarmManager.setInexactRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),60*1000,null);
当前SmsManager
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(123, null, "Text", null, null);
我不知道android studio是否有专门的方法来实现这一点,但是如果您使用java,您可以使用ScheduledExecutorService和一个线程来定期运行您的任务。 例如:
ScheduledExecutorService executor =
Executor.newScheduledThreadPool(1);
Runnable task = ...;
executor.scheduleWithFixedRate(task, 10, 10, SECONDS);
这里有更多关于它的文档 我们走错了方向。我不应该这样做,而是应该启动一个PendingTet来启动一个服务类,并在服务类的onStartCommand方法中运行smsmsmanager。