我想在 Android 中创建一个功能,比如提醒。
我想启动我的应用程序/活动,当它没有运行,或者它的 UI 不可见时。
它类似于提醒,在所需时间唤醒应用程序。
我没有使用过任何类型的后台任务或服务,所以我不知道该做什么,或者我应该学习什么类型的课程或演示?
任何人都可以通过演示或教程链接给我一些建议。提前致谢。
我想在 Android 中创建一个功能,比如提醒。
我想启动我的应用程序/活动,当它没有运行,或者它的 UI 不可见时。
它类似于提醒,在所需时间唤醒应用程序。
我没有使用过任何类型的后台任务或服务,所以我不知道该做什么,或者我应该学习什么类型的课程或演示?
任何人都可以通过演示或教程链接给我一些建议。提前致谢。
您好使用以下代码。这是服务。通过将挂起的 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();
}
}
启动服务并在需要时停止服务,也不要忘记在清单文件中注册它。
看看 Android 服务类。
http://developer.android.com/reference/android/app/Service.html
通过此服务,您可以定期启动(使用 TimerTask)一个 Intent 来打开您的应用程序,或者只设置一个通知,用户可以通过该通知使用所需的 Activity 打开应用程序。我更喜欢第二个选项,因为他的用户不希望应用程序只是在某个时候打开。
这是一个简单的服务教程: http ://www.vogella.com/articles/AndroidServices/article.html