android - 如何定期唤醒我的应用程序

标签 android service android-alarms background-service

我想在 Android 中做一个功能,比如提醒。

我想启动我的应用程序/Activity ,当它没有运行,或者它的 UI 不可见时。

它类似于提醒,在需要的时间唤醒应用程序。

我没有使用过任何类型的后台任务或服务, 所以我不知道该怎么做 或者我应该学习什么类型的类(class)或演示?

任何人都可以通过演示或教程链接给我一些建议吗? 提前谢谢。

最佳答案

您好,请使用以下代码。这是服务。通过将挂起的 Intent 与警报管理器一起使用,您可以在需要的时间打开您的 UI。

import java.util.Calendar;
import java.util.Timer;
import java.util.TimerTask;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.util.Log;
public class ScheduleCheckService extends Service{

    private Timer timer;
    final  int REFRESH=0;
    Context context;
    private PendingIntent pendingIntent;

    @Override
    public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public void onCreate() {
        // TODO Auto-generated method stub
        super.onCreate();
        context=this;
        //==============================================

        TimerTask refresher;
        // Initialization code in onCreate or similar:
        timer = new Timer();    
        refresher = new TimerTask() {
            public void run() {
              handler.sendEmptyMessage(0);
            };
        };
        // first event immediately,  following after 1 seconds each
        timer.scheduleAtFixedRate(refresher, 0,1000); 
        //=======================================================

    }

    final Handler handler = new Handler() {


        public void handleMessage(Message msg) {
              switch (msg.what) {
              case REFRESH: 
                   //your code here 


                  break;
              default:
                  break;
              }
          }
        };


         void PendingIntentmethod()
         {
         Intent myIntent = new Intent(context, YOURCLASS.class);        
         pendingIntent = PendingIntent.getActivity(context, 0, myIntent, 0);
         AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
        Calendar calendar = Calendar.getInstance();


         }




}

启动服务并在需要时停止服务,并且不要忘记在 list 文件中注册它。

关于android - 如何定期唤醒我的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15412287/

相关文章:

java - Android 共享首选项未通过提交/应用/清除保存

android - 针对 Android 的 Phonegap 构建和启动画面针对平板电脑进行了拉伸(stretch)

java - Gson 如何解析单个数组中的不同数据类型?

java - 通知后刷新服务中的 Activity

windows - 无法找到用于在 VS 2015 中创建 Visual C++ Windows 服务的模板

java - 在 Android 中,如何启动一个 Activity 或将该 Activity 置于栈前(如果该 Activity 已在堆栈中)?

android - 如何停止服务中的功能?

android - Android 中同时发出多个警报

android - 仅为已删除的警报删除 AlarmManager 警报

java - AlarmManager 未触发 onReceived