2

WelcomeActivity があるとしましょう。電話の電源を入れると、ウェルカム画面が表示されるだけです。ACTION_BOOT_COMPLETED の BroadcastListener を拡張することで、これを成功裏に達成しました。

問題 : 電話が完全に起動するまで、つまり BOOT_COMPLETED インテントを送信するまでに時間がかかります。ウェルカム アクティビティを見る前に、携帯電話のデフォルトのホーム画面が表示されるプロセス全体、ネットワーク、Wi-Fi と GPS の検出と設定、受信トレイに新しいメッセージが表示されるメッセージ通知/ステータス バーなどを確認できます。等

こんなに長く待ちたくない。この本物の Android システムの動作を抑制したいと言っているわけではありません。私が言っているのは、電話が起動したらすぐに MyActivity を表示し、電話をバックグラウンドで起動させることです。

はい、DVM を起動してアプリを起動するには、OS が起動して安定した状態に到達する必要があることを知っています。私の質問は、私のアクティビティを少し早く (できるだけ早く) 開始し、BOOT_COMPLETED がトリガーされるまで待たない、本物の SDK (ルート化されていない) 方法は他にありますか?

ありがとう!

4

2 に答える 2

1

これはちょっとしたハッキン​​グの回避策ですが、実際にはBOOT_COMPLETEDと別の受信者WifiManager.SCAN_RESULTS_AVAILABLE_ACTIONを使用していて、起動が完了するかなり前にwifimanagerが起動していることに気付きました。明らかに、wifiと3gがオフの場合、それはかなり役に立たない。

最善の策は、android.intent.action.PHONE_STATEのブロードキャストレシーバーを設定することだと思います。私はそれを試していませんが、それは以前に解雇されたものの1つだと思います。これが本当にブートなのか、電話の状態の変化なのかを追跡するブール値を追加してください。

于 2012-04-05T06:07:33.257 に答える
1

おそらくそうではないと思います(カスタムROMは除く)

于 2012-04-05T05:51:26.577 に答える