4

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

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

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

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

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

4

2 回答 2

4

您好使用以下代码。这是服务。通过将挂起的 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();


         }




}

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

于 2013-03-14T14:48:22.173 回答
1

看看 Android 服务类。
http://developer.android.com/reference/android/app/Service.html

通过此服务,您可以定期启动(使用 TimerTask)一个 Intent 来打开您的应用程序,或者只设置一个通知,用户可以通过该通知使用所需的 Activity 打开应用程序。我更喜欢第二个选项,因为他的用户不希望应用程序只是在某个时候打开。

这是一个简单的服务教程: http ://www.vogella.com/articles/AndroidServices/article.html

于 2013-03-14T14:42:54.703 回答