2011-09-19 7 views
1

私は30秒ごとにインターネットに投稿するアプリを開発中です。画面が消えるまで、すべてがうまくいきます。タイマーが遅くなっているようです。投稿には5分ほどかかります。私はウェイクロックとsetgroundground活動を取得しようとしましたが、何も動作しません。ここにどんなアイデア?画面がオフのときにAndroidが「スローダウン」する

サービスとして実行

その、私はウェイクロックのためにこれを使用します。

PowerManager mgr = (PowerManager)this.getSystemService(Context.POWER_SERVICE); 
WakeLock wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock"); 
wakeLock.acquire(); 

そして、ここでの例フォアグラウンドを設定するには:http://developer.android.com/reference/android/app/Service.html

私もそれを使用することが可能かどうか確認しようとしましたデバッガは、USBが接続されているすべての正常に動作します。

もっと詳しく:

Private void startCheck() { 
mCheckHandler.sleep(30000); 
} 

    private CheckHandler mCheckHandler = new CheckHandler(); 
    private class CheckHandler extends Handler { 
      @Override 
      public void handleMessage(Message msg) { 
       Pservice.this.startCheck(); 
      } 

      public void sleep(long delayMillis) { 
       this.removeMessages(0); 
       sendMessageDelayed(obtainMessage(0), delayMillis); 
      } 
      }; 

私はそれがインターネットをチェックするたびウェイクロックを取得するためにそれを設定します。 は定期的に確認することを私はこれを使用しています。今すぐうまく動作します:)あなたの助けをありがとう:)

+1

携帯電話のバッテリーが消耗して気分になっていませんか?/usefulcomment *(真剣に、これはあまりにも漠然としていますが、具体的なやり方、小規模なコードサンプルで説明してください - それ以外の場合はちょうど推測できます)* –

+0

あなたが与えたリンクとコードは、詳細をご記入ください。 – Ronnie

答えて

2

画面が消えると、デバイスは最終的に低電力状態になります。この低電力状態は基本的にコードが実行されないことを意味します。 5分かかる理由は、他のアプリがデバイスを起動してからアプリが再起動するチャンスがあるからです。

デバイスをUSB経由で接続することで、低電力状態が発生しないようにすることができます。

ウェイクロックが実際に取得されていないか、あまりにも早くリリースされているようです。

+0

インターネットをチェックするたびにウェイクロックを取得するように設定しました。今それはうまく動作:)すべてのあなたの助けをありがとう:) – user952725

0

他のデバイス、ROM、エミュレータでテストしましたか?場合によっては、デバイスの製造元のコードが問題を起こす可能性があるという単純な問題があります。

あなたはどのデバイスとROMを使用していますか?

0

私はスクリーンがオフのときに私のアンドロイドデバイスを積極的にアンダークロックします。私もそれがデバッガを使用することが可能かどうか確認しようとしました

が、USBが接続されたときにすべてが正常に動作します:

また、あなたが言及しました。

ADB Wirelessを使用して、USB電源に接続せずにデバッグするか、代わりにロギングを使用してください。

関連する問題