3

サービスを毎分実行するようにスケジュールし、アプリがまだ実行されているかどうかを確認したいと考えています。(アプリケーションが閉じている場合は、アプリケーションを再度開きたい)。また、アプリケーションがタスク マネージャーによって強制終了された場合でも、このサービスを毎分実行したいと考えています。ありがとう!

4

2 に答える 2

2

また、アプリケーションがタスクマネージャーによって強制的に強制終了された場合でも、このサービスを毎分実行したいと思います。

これはAndroid3.1以降では不可能です。ユーザーが[設定]に移動してアプリをforce=停止すると、ユーザーがコンポーネントの1つを手動で起動するまで、アプリは何も実行されません。

他の理由でプロセスが終了した場合(たとえば、Playストアの通常のタスクキラーアプリ、最近のタスクリストからタスクをスワイプして削除)、AlarmManagerLuciferの提案に従って、スケジュールされたアラームはそのまま残ります。

子供の携帯電話にインストールされている「親コントロール」アプリを書いています。

電話を使用するのに十分な知能を持つ子供は、セーフモードでデバイスを再起動してアプリを削除するのに十分な知能を備えています。

于 2012-10-19T13:20:43.843 に答える
1

クラスを使用するAlarmManagerと、デバイスがスリープモードになっていても機能します。

private static Intent alarmIntent = null;
private static PendingIntent pendingIntent = null;
private static AlarmManager alarmManager = null;


// First Creating an Intent
alarmIntent = new Intent ( context, yourClass.class );
// Create an Pending Intent which will Broadcast the Intent
pendingIntent = PendingIntent.getBroadcast(context, 234324243, alarmIntent, 0 );
// Set the AlarmManager class
alarmManager = ( AlarmManager ) context.getSystemService( ConstantCodes.ALARM_SERVICE );
// Set Repeating time interval
alarmManager.setRepeating( AlarmManager.RTC_WAKEUP, Interval * 1000, Interval * 1000, pendingIntent );

AlarmManager は、TimerTask または Thread よりも少ないバッテリー電力を消費します。痛みのない AsyncTask のように機能します。

于 2012-10-19T12:54:53.410 に答える