1

Fragment には時間のかかるタスク (スレッド) があります。それは正常に動作します。しかし、画面を閉じると、CPU が動作していないことがわかり、タスクが正常に動作しません。

私はPowerManagerActivityで使用していますが、Fragmentも機能していません。また追加<uses-permission android:name="android.permission.WAKE_LOCK" />

@Override
protected void onResume() {
    super.onResume();
    PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
    PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "CPUKeepRunning");
    wakeLock.acquire();
}

@Override
protected void onDestroy() {
    super.onDestroy();
    if (wakeLock != null && wakeLock.isHeld()) {
        wakeLock.release();
        wakeLock = null;
    }
}

CPU見てきました ここに画像の説明を入力

4

1 に答える 1

1

サービスを介してコードを実行します。アクティビティでコードを実行している場合は、アクティビティがバックグラウンドになると停止します。代わりにサービスを使用してください。

http://developer.android.com/training/run-background-service/create-service.html http://developer.android.com/guide/components/services.html

于 2015-11-28T08:25:28.233 に答える