web-dev-qa-db-ja.com

エミュレータを再起動してACTION_BOOT_COMPLETEDをテストする方法

よく、私はたくさん検索しました。エミュレータのウィンドウを閉じるにはエミュレータを閉じる必要があると言われています。ただし、エミュレータを再起動してキャッチする必要があります ACTION_BOOT_COMPLETED by my BroadcastReceiver

どうやってやるの?

28
user942821

Adbから次のコマンドを使用できます。

adb Shell am activity/service/broadcast -a ACTION -c CATEGORY -n NAME

例えば:

adb Shell am broadcast -a Android.intent.action.BOOT_COMPLETED -c Android.intent.category.HOME -n package_name/class_name

クラス名とパッケージ名はマニフェストで定義されているとおりである必要があることに注意してください。

これにより、必要なインテントが生成され、必要なコンポーネントのみに送信されます(そうしないと、BOOT_COMPLETEDが送信されてシステムが狂います...)

34
Anat

または別の方法(これもコマンドラインから):

adb Shell stop
adb Shell start
31
Booger

ブロードキャストアクションをエミュレートするには、adbを介してエミュレータ/デバイスに接続し、シェルを開きます。

adb Shell

次に、テストするアクションをブロードキャストできます。

am broadcast -a Android.intent.action.BOOT_COMPLETED

最新のAndroid=バージョンでは、* Android.intent.action.BOOT_COMPLETED *アクションをブロードキャストすると、実際にエミュレーター/デバイスが再起動されます。

8
Paolo Rovelli

まず、エミュレータ内からUSBデバッグが有効になっていることを確認します。

クリック:

  • ホームアイコン
  • メニューアイコン
  • '設定'
  • 「アプリケーション」
  • '開発'
  • [USBデバッグ]の横のボックスにチェックマークが含まれていることを確認します

コマンドラインから:

adb -e reboot

編集:

これは間違いなく動作しません...非常に奇妙です。私はそれをテストし、エミュレータを再起動させることができませんでした。ハングアップするだけです。

6
DavidDraughn

Androidタブでtubemateを使用しているときに、error:Host interuppedなどでビデオをダウンロードできませんでした。次のコマンドを使用しました:

adb Shell stop
adb Shell start

そして、アプリケーションはビデオのダウンロードを開始しました。

0
susjoy