我正在创建一个类似于内置SMS应用程序的应用程序.
我需要的:
我尝试过:
- 运行常规服务,直到Android杀死服务一直工作
- 使用AlarmManager进行5分钟.间隔呼叫服务.但我无法做到这一点.
看起来强制停止会阻止应用程序运行,它甚至会禁用所有应用程序的警报.然而,我发现Google日历中的通知即使在强制停止后仍然显示正常,我一直看到Instagram应用程序运行,即使我杀了它,它只是自动重启,它再一次在那里.
那么,什么是让应用程序不断运行的方法?我正在使用提醒进行应用,并且需要在特定时间显示通知,无论之前的应用是如何关闭的.
我想在我的应用程序中每秒运行一次报警服务.它在5.1版本以下工作正常.但它不会在5.1设备中触发.我正在使用commonsware wakeful intent service.logcat消息说" 可疑短间隔1000毫秒;扩展到60秒 ".如何在5.1中每秒轮询一次?任何人都可以建议我如何实现这一目标?
更多解释:
我的用例是我需要每隔30分钟做一些操作.AFAIK为此使用报警管理器是一种有效的方法,但在这里
1)我需要向用户显示倒计时器.(计时器任务,倒计时器,ScheduledExecutorService对此非常有用)
2)我需要每30分钟通知用户(通过通知),即使应用程序在后台也是如此.(报警服务就足够了)
但在这里,我的问题是当应用程序处于后台时,当你从最近一次刷出应用程序时(即,应用程序进程被杀死)没有任何服务或计时器,处理程序,执行程序服务将无法工作).在这种情况下,如何在完成30分钟后通知用户.如果我以错误的方式思考,请指导我.
谢谢,
Chaitanya
我的问题是如何创建一个始终运行的后台服务.我创建了一个IntentService,只要应用程序正在运行,它就会在后台运行.但是,当应用程序被杀死时,服务也会消失.我想要创建的是创建一个始终运行和发布通知的后台服务.(类似于whatsapp,facebook或任何其他类似的应用程序.)
单击通知时,它也应该启动应用程序.
我该怎么做?
我的IntentService中有一个无限循环,根据主要活动的输入,每30秒更新一次视图.
public class IntentServiceTest extends IntentService {
String Tag = "IntentServiceTest";
String ACTION_RCV_MESSAGE = "com.jsouptest8.intent.action.MESSAGE";
public IntentServiceTest(){
super("IntentServiceTest");
Log.d(Tag, "IntentServiceTest constructor");
}
@Override
protected void onHandleIntent(Intent intent) {
// TODO Auto-generated method stub
Log.d(Tag, "in onHandleIntent");
String url = intent.getStringExtra("URL");
Document doc;
int i=0;
try{
while(true){
Log.d(Tag, "entered try block...");
Log.d(Tag, "url = "+url);
doc = Jsoup.connect(url)
.get();
Log.d(Tag, "past Jsoup.connect");
Element data = doc.select("table").get(1).attr("bgcolor", "#f4f36f");
Log.d(Tag, data.toString());
Log.d(Tag, data.text());
Log.d(Tag, "creating intent...");
Intent broadcastIntent = new Intent();
Log.d(Tag, "setting …Run Code Online (Sandbox Code Playgroud)