emulator
にあるBROADCAST RECEIVER
をBOOT_COMPLETED
で確認します。
エミュレータでその放送受信機を確認する方法はありますか?エミュレータを再起動してその受信機を確認するにはどうすればよいですか?直接のコマンドはありますか?
前もって感謝します。
エミュレータにはデバイスのような電源ボタンはありませんので、
エミュレータインスタンスを停止するには、エミュレータのウィンドウを閉じるだけです。
そしてStart/Restart
itEclipseのAVD Managerから開始し、BOOT_COMPLETEアクションを使用したBroadcastReceiverが呼び出されますfor sure
AVDを別の方法で起動することもできます。CMD
からAndroidSDKのツールに移動し、このコマンドE:\Android-sdk-windows\tools>emulator -avd AVDNAMEHERE
CMDからブロードキャストを送信するには、このコマンドを使用できます。
adb Shell am broadcast -a Android.intent.action.BOOT_COMPLETED -c Android.intent.category.HOME -n package_name/class_name
Android Emulator: Android Emulator および sing Emulator について詳しく読む
基本的に、これは、実行中にAndroid Emulaterでブート完了をエミュレートするために必要なことです:Windowsユーザー:Linuxにも同じことが当てはまります
[〜#〜] steps [〜#〜]:コンソールタイプ
adbシェル
am broadcast -a Android.intent.action.BOOT_COMPLETED
以上です。 詳細な図については下の図を参照。
Happy Coding!
BOOT_COMPLETEDが2回受信されると、一部のアプリが誤動作する場合があります。代わりに、パッケージのみにブロードキャストを制限します。
adb Shell am broadcast -a Android.intent.action.BOOT_COMPLETED -p com.example.package
フレーバーを使用している場合は、.
コンポーネント名のショートカット表記。
例
adb Shell am broadcast -a Android.intent.action.BOOT_COMPLETED -n com.companyname.develop/com.companyname.notification.RescheduleLocalNotificationsAtBootReceiver
エミュレータを再起動するには、コマンドラインを開き、adbがあるフォルダーに切り替えて(システムパスにない場合)、次のように入力します。
adb restart
(その後、Strg-Cでコマンドを中止して、cmd行を戻すことができます)
Lollipopエミュレーターでは、rootとして実行する必要がありました。
adb Shell su root am broadcast -a Android.intent.action.BOOT_COMPLETED
ルートがなければ、コマンドは失敗します-アラームマネージャはブロードキャストを送信しません:
adb Shell am broadcast -a Android.intent.action.BOOT_COMPLETED
Broadcasting: Intent { act=Android.intent.action.BOOT_COMPLETED }
Java.lang.SecurityException: Permission Denial: not allowed to send broadcast Android.intent.action.BOOT_COMPLETED from pid=26595, uid=2000
at Android.os.Parcel.readException(Parcel.Java:1684)
at Android.os.Parcel.readException(Parcel.Java:1637)
at Android.app.ActivityManagerProxy.broadcastIntent(ActivityManagerNative.Java:3537)
at com.Android.commands.am.Am.sendBroadcast(Am.Java:772)
at com.Android.commands.am.Am.onRun(Am.Java:404)
at com.Android.internal.os.BaseCommand.run(BaseCommand.Java:51)
at com.Android.commands.am.Am.main(Am.Java:121)
at com.Android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.Android.internal.os.RuntimeInit.main(RuntimeInit.Java:262)