嗨我目前正在使用AlarmManager。我寫了下面給出的代碼。根據代碼,AlarmManager應該在10秒後觸發,但是在我的代碼中,警報管理器立即觸發。請幫忙。立即觸發報警管理器
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AlarmManager alarmManager = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
int alarmType = AlarmManager.ELAPSED_REALTIME_WAKEUP;
long timeOrLengthofWait = 10000;
Intent intentToFire = new Intent(this, AlarmReciever.class);
PendingIntent alarmIntent = PendingIntent.getBroadcast(this, 0, intentToFire, 0);
alarmManager.set(alarmType, timeOrLengthofWait, alarmIntent);
}
}
而且我AlarmReciever類
public class AlarmReciever extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String phoneNumberReciever="5556";
String message="Alarm Triggered";
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(phoneNumberReciever, null, message, null, null);
Toast.makeText(context," A message has been sent", Toast.LENGTH_LONG).show();
Log.d("Alarm ", "Alarm Has been triggered and sms send");
}
}
我的清單已經添加所需的權限。
非常感謝你的幫助和工作:) –
作爲一個adition,documentarion說:「如果你指定的觸發時間是過去,報警立即觸發。」您在問題中提供的10000的時間戳肯定代表過去的日期。這是您的鬧鐘立即觸發的原因。 更多信息請訪問https://developer.android.com/training/scheduling/alarms.html#set – androidevil