午前 12 時にアプリケーションを自動的に呼び出したいのですが、この種のプロセスを Android で実装する方法はありますか?
2 に答える
1
ReminderBootUp.java ファイルには、特定の時間にアクティビティをスケジュールするコードがあります
package com.app.reminder;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
public class ReminderBootUp extends BroadcastReceiver {
private SQLiteDatabase myDataBase = null;
private Cursor rs = null;
@Override
public void onReceive(Context context, Intent arg1) {
// TODO Auto-generated method stub
try {
long alarmTime = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(
"2010-12-21 12:00").getTime();
int id = 1;
Date date = new Date();
if (date.getTime() <= alarmTime) {
Intent notifyIntent = new Intent(context, youractivity.class);
PendingIntent intent = PendingIntent.getBroadcast(context, id,
notifyIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager am = (AlarmManager) context
.getSystemService(Context.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, alarmTime, intent);
}
} catch (Exception e) {
Log.e("Exception", e.getMessage(), e);
}
}
}
この行を Manifest.xml ファイルに追加する必要があります
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED">
<receiver android:name="ReminderBootUp" android:permission="android.permission.RECEIVE_BOOT_COMPLETED" android:enabled="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
<category android:name="android.intent.category.DEFAULT"></category>
</intent-filter>
</receiver>
このコードは、デバイスの起動後に機能します...
アプリケーションを通常の起動アクティビティとして開始する場合は、通常のコードとして記述します。
于 2010-12-21T08:32:22.160 に答える
1
AlarmManagerを見てください。
次に例を示します。
Intent myIntent = new Intent(getApplicationContext(), YourActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(getApplicationContext(), 1, myIntent, PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
alarmManager.set(AlarmManager.RTC_WAKEUP, time, pendingIntent);
于 2010-12-20T10:08:46.573 に答える