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