BOOT_COMPLETED に反応する BroadcastReceiver があります。次にインテントを発行しますが、このインテントはしばらく遅延する必要があります。何らかの理由で、sleep() 呼び出しのパラメーターが約よりも大きい場合。6000ms、スリープは返されません (以下のコードに「スリープ完了!」というメッセージは表示されません)。また、スローされる例外もありません。6000 ミリ秒以下ではすべて正常に動作します。
これを解決する方法についてのアイデアは素晴らしいでしょう!
public class BootReceiver extends BroadcastReceiver
{
@Override
public void onReceive( final Context context, final Intent intent)
{
Thread thr = new Thread ()
{
@Override
public void run()
{
Log.e ( "Test", "Going to sleep!" );
try {
sleep(8000);
} catch (InterruptedException e) { e.printStackTrace(); }
Log.e ("Test","Sleep done!");
}
};
thr.start();
}
}