2017-08-05 8 views
0

1分ごとにアラームマネージャから呼び出されるサービスクラスからWebサービスHTTPS接続を呼び出しています。サービスを開始すると、デバイスがスリープモードになるまでWebサービスからの応答が得られます。オフ、次のWebサービスの呼び出しに私はそれは私がdevice.Whenデバイスは、Webサービスは、サーバーからの応答を取得を開始ウェイクアップ取得ウェイクアップするまで、この例外をスローしていきますこれはデバイスのスリープモードでSoketTimeOutExceptionが表示されるのはなぜですか?

com.turbomanage.httpclient.HttpRequestException: java.net.SocketTimeoutException: connect timed out 

をエラー - 取得していますし、私は例外を取得しておりません。だから誰でも問題が何かを教えてください。試験装置はNexsus 5Xです。

答えて

1

私はあなたのアプリはバッテリーの最適化である場合を除き、アンドロイド6.0+では動作しません、すべて1分

にアラームマネージャが呼び出されたサービスクラスからのWebサービスのHTTPS接続を呼び出していますホワイトリスト。 Dozeモードは大部分のアラームを止め、コントロールを取得した場合はインターネットにアクセスできない場合があります。

また、毎分デバイスをスリープ状態にしてネットワークI/Oを実行するとバッテリーがなくなりますので、Android 6.0では最初にDozeモードが導入されています。

+0

解決策は何ですか? – shyam002

+0

@ shyam002:問題は何か分かりません。あらゆる種類の理由(飛行機モードなど)のために、いつでもインターネットに接続できるという保証はありません。他の接続性の欠如と同じようにこれを処理する必要があります。 – CommonsWare

+0

@ shyam002:Android 6.0以降でスリープモードでインターネットに接続する可能性を最大限に高めるには、バッテリー最適化ホワイトリストにあなたのアプリを追加するようユーザーに依頼してください。 Android 7.1.1を実行しているNexus 5Xの場合、設定>アプリ>(歯車アイコン)>特別なアクセス>バッテリーの最適化です。しかし、ユーザーがこれをしないかもしれないことを認識する必要がありますか、またはあなたのアプリが使用するバッテリーの量が気に入らなければ、彼らはこのリストからあなたのアプリを削除するかもしれません。 – CommonsWare

関連する問題