質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JUnit

JUnitは、Javaで開発されたプログラムのユニットテストを行うためのアプリケーションフレームワークです。簡単にプログラムのユニットテストを自動化することができ、結果もわかりやすく表示されるため効率的に開発時間を短縮できます。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Q&A

解決済

2回答

4511閲覧

Androidアプリで、バッテリーが低下した時に発生する処理をテストしたい

usugita_san

総合スコア221

JUnit

JUnitは、Javaで開発されたプログラムのユニットテストを行うためのアプリケーションフレームワークです。簡単にプログラムのユニットテストを自動化することができ、結果もわかりやすく表示されるため効率的に開発時間を短縮できます。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

0グッド

0クリップ

投稿2016/05/19 03:42

編集2016/05/19 05:43

Androidアプリを開発しています。
アプリの動作をテストしたいのですが、解決方法がわからずに相談します。

今回のアプリでは、 BroadcastReceiver を使って、バッテリーの残量が低下したら特定の処理を実行する機能を持っています。バッテリーの残量は、Intent.GetIntExtra("level",0); で取得しています。

バッテリーが低下した時に、特定の処理を呼び出す事には成功しています。トーストなどで確認しました。
問題は、この処理の動作確認方法です。
できればデバッグしながら動きを確認できると嬉しいんですが、デバッグしようとPCにつなげると、同時に充電してしまいます。これではバッテリーが少なくなりません。
テスト仕様書を元に、細かくテストしていこうかなと思っても、一旦バッテリーを充電してからバッテリー切れを待たないといけません。これではあまりに不便です。

こういう時、どうやってテストするのが正しいのでしょうか?
どうにかして、バッテリー残量が低下したというイベントを引き起こせれば簡単なのですが、その方法が見つかりません。

皆様ならこういうとき、どうやってテストするでしょうか?

追記:
すみません、端末が特殊で、Androidのエミュレータではアプリが動作しません。通常の端末には存在しないハードキーを使用しており、実機でないと動作させられないのです。
エミュレータでの解決ではなく、実機での解決策をお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

手元に環境がないので未検証ですが、エミュレーターに telnet で接続すると、 power コマンドで操作できるようです。
http://stackoverflow.com/questions/16295196/how-to-simulate-low-battery-in-android-devices

sh

11)telnet localhost 5554 //where 5554 is your emulator id, which is displayed top left corner of ur emulator 22)power capacity 10 //set the battery level to 10% 33)power ac off //turns off charging mode

投稿2016/05/19 04:18

KiyoshiMotoki

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

usugita_san

2016/05/19 05:41

大変申し訳ありません。実は端末が特殊なもので、エミュレータでは実行できないのです。通常のAndroidには存在しないハードキーを使っているのです。 エミュレータでは動作させる事ができませんでした・・・。 質問に追記致します。
KiyoshiMotoki

2016/05/19 05:52

返信ありがとうございます。 既に解決されたようですが、、 さらに調べてみたところ、以下のページを見つけました。 http://techbooster.jpn.org/andriod/environment/6031/ 「ブロードキャストIntentを投げる」 という項に、 > バッテリーが少なくなってきたときに発行されるブロードキャストインテントを投げ る方法が紹介されています。 こちらも試してみてはいかがでしょうか?
usugita_san

2016/05/20 07:09

ありがとうございます!これも役立ちそうですね。 これでイベントを発生させて、ブレークで止めてからバッテリーのレベルの変数を変更したりすれば、実際にバッテリーが減ってなくても減ったように見せかける事ができますね。すごい便利・・・。 きっと今後使わせて頂くと思います。 ありがとうございます。
guest

0

ベストアンサー

Wi-Fi経由でADBに接続する方法があります。

端末をUSB接続した状態で

adb tcpip 5555 adb connect 端末のローカルIPアドレス

これでUSB接続を解除してもadbには接続したままになるはずです。

切断するときは

adb disconnect

投稿2016/05/19 05:46

abs123

総合スコア1280

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

usugita_san

2016/05/19 05:48

す、すごい!知らなかった!ちょっと設備が必要なんで、試してみます。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問