0

1 週間のカレンダーを設定するアプリを作成する必要があります。

基本的に、ユーザーは曜日ごとにアクティビティの開始時刻と終了時刻を入力します。

彼は一度だけやります。

その設定の後、アプリケーション (私は を使用しますAlarmManager) は設定された時間にアクティビティを開始し (連続してビデオを再生します)、終了し、設定された時間になります:

毎日。

永遠に、

人間の介入なしで(もちろん、電話/タブレットの電源を入れ、電源に接続する必要があります)。

私の懸念は次のとおりです。

alarmmangerユーザーからの操作なしで、実際に朝にデバイスを起動してアクティビティを開始する (ビデオを再生する) ことができますか?

使用の巧妙な提案

    WindowManager wm = Context.getSystemService(Context.WINDOW_SERVICE);
    Window window = getWindow();  
    window.addFlags(wm.LayoutParams.FLAG_DISMISS_KEYGUARD);

Eclipseで多くのエラーが発生します:

ここに画像の説明を入力

4

3 に答える 3

6

はい、似たようなことを試してみることはできますが、正確にはできません..毎日午前9時にデバイスを呼び出して、このコードを使用したコンテンツをダウンロードしようとしました

PowerManager pm = (PowerManager) context
            .getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wl = pm.newWakeLock(
            PowerManager.PARTIAL_WAKE_LOCK, "");
    wl.acquire();

    wl.release();

これが私の実装でした:Alaramを設定するために使用されます

 AlarmManager am = (AlarmManager) context
            .getSystemService(Context.ALARM_SERVICE);
     Calendar calendar = Calendar.getInstance();
     calendar.setTimeInMillis(System.currentTimeMillis());
     calendar.add(Calendar.MINUTE, 10);
     calendar.add(Calendar.SECOND, 00);
     //alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
     am.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000*60*1, pi);

放送受信者:

Register BroadcastReciever:
PowerManager pm = (PowerManager) context
            .getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wl = pm.newWakeLock(
            PowerManager.PARTIAL_WAKE_LOCK, "");
    wl.acquire();
    // Put here YOUR code.

    Intent startAutoSyncService = new Intent(context,
            AppoinmentService.class);
    context.startService(startAutoSyncService);

    wl.release();
于 2013-07-09T08:52:05.730 に答える
1

はい、アラーム タイプとしてELAPSED_REALTIME_WAKEUPまたはを使用する場合は、そうです。RTC_WAKEUP

于 2013-07-09T08:50:59.033 に答える