0

Android デバイスでシステムの時刻と日付を設定しようとしています。

次のコードが機能すると思いましたが、エラーが発生しますmethod not found: setTime(long)

Calendar c = Calendar.getInstance();
c.set(2010, 1, 1, 12, 00, 00);
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
am.setTime(c.getTimeInMillis());
4

2 に答える 2

1

(root 化されていない) Android デバイスの日付や時刻をアプリケーションで変更することはできません。

のドキュメントからAlarmManager.setTime()

アクセス許可 android.permission.SET_TIME が必要です。

http://developer.android.com/reference/android/app/AlarmManager.htmlを参照してください。

于 2012-08-24T07:52:35.660 に答える
-1

これは役に立つかもしれません ------------------ブロードキャスト クラス-------------------------- --

public class TimeReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context ctx, Intent intent) {

    Toast.makeText(ctx, "It's time to WAKE UP!!!!", Toast.LENGTH_SHORT).show();
}

}

----------------このコードを Activity クラスに書く --------------------------

PendingIntent sender = null;
    Intent intent = null;
    Calendar systemtime = Calendar.getInstance();
    systemtime.setTime(new Date());

    Calendar timeToTriggerAlarm = Calendar.getInstance();
    timeToTriggerAlarm.set(Calendar.HOUR_OF_DAY, systemtime.get(Calendar.HOUR_OF_DAY));
    timeToTriggerAlarm.set(Calendar.MINUTE, systemtime.get(Calendar.MINUTE));
    timeToTriggerAlarm.set(Calendar.SECOND, 00);

    intent = new Intent(this,TimeReceiver.class);

    sender = PendingIntent.getBroadcast(this, 0, intent,PendingIntent.FLAG_ONE_SHOT);

    AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
    am.set(AlarmManager.RTC_WAKEUP, timeToTriggerAlarm.getTimeInMillis(), sender);

注 - マニフェスト ファイルを開き、[オプション] > [追加] > [レシーバー] > [ブラウズ] > [クラス名の追加] をクリックします (ここでは TimeReceiver です)。

于 2012-08-24T16:31:05.267 に答える