ini membuatnya untuk aktivitas yang sedang berjalan atau seluruh aplikasi?
Muhammed Refaat
@ MayurR.Amipara ya saya rasa ini yang terjadi di sini
Muhammed Refaat
1
Jika saya menulis kode ini dalam metode kelas Aplikasi onCreate (), apakah itu akan berfungsi untuk seluruh aplikasi?
Jayesh
Jika Tidak, Bagaimana saya bisa membuat seluruh layar aplikasi tetap aktif dengan menyisipkan lebih sedikit kode daripada menambahkan baris itu ke setiap aktivitas.
Jayesh
1
@Jayesh: Anda dapat membuat baseActivity dan menulis kode ini dalam Metode onCreate dan memperluas semua aktivitas dari baseActivity.
Untuk mereka yang tidak punya waktu untuk membaca pdf yang ditautkan: "Wakelocks mahal jika dilupakan", "Pertimbangkan untuk menggunakan android: keepScreenOn untuk memastikan kebenaran".
lenrok258
2
@ lenrok258 Ditambahkan ke jawaban ;-)
neteinstein
Saat menggunakan PowerManager.newWakeLockdan getWindow().addFlagstidak berfungsi karena alasan tertentu, ini berhasil.
Dalam Tampilan, dalam kasus saya subkelas SurfaceView, Anda dapat menyetel layar selalu aktif. Saya ingin layar tetap menyala saat tampilan ini masih menggambar sesuatu.
Itu sebenarnya lebih rumit dari yang dibutuhkan. Panggil saja setKeepsScreenOn (true) di mana saja, dan framework akan secara otomatis menjaga layar tetap menyala saat jendela Anda ditampilkan.
mengapa kebutuhan FLAG_FULLSCREEN untuk menjawab pertanyaan ini?
Abdul Wasae
0
android:keepScreenOn="true"
adalah cara yang lebih baik untuk menangani ini jika kita ingin membuat layar tertentu selalu aktif setiap saat jika tidak kita harus menangani diri sendiri kapan harus mengaktifkannya dan menonaktifkannya
1. getWindow (). AddFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); adalah solusi terbaik untuk Android Asli.
2. Jika Anda ingin menggunakan aplikasi Android React, gunakan kode di bawah ini.
Tidak tidak Tidak. Wake lock mudah disalahgunakan dan dapat menguras baterai pengguna jika tidak digunakan dengan sangat hati-hati. Gunakan View#setKeepScreenOnatau atribut layout xml-nya yang setara,android:keepScreenOn="true"
adamp
5
@adamp: OP tidak menunjukkan apakah aplikasinya adalah suatu aktivitas atau layanan. Suatu aktivitas harus menggunakan mekanisme yang Anda kutip. Sebuah layanan harus menggunakan WakeLock.
CommonsWare
terima kasih ini bukan layanan. Ini mirip dengan penampil gambar dan saya hanya tidak ingin layar diredupkan.
penjepit
@adamp: Sebutan Anda android:keepScreenOn="true"adalah satu-satunya jawaban yang valid untuk kegiatan menurut saya. Jauhi wakelock kecuali benar-benar diperlukan.
pauluss86
Bukan hanya Aktivitas tetapi semua jenis UI yang menampilkan jendela. Jawaban yang diterima untuk menggunakan bendera jendela yang sesuai sama validnya.
View.setKeepScreenOn()
[link] [1] ?. Saya sendiri tidak pernah menggunakannya. [1]: developer.android.com/reference/android/view/…Jawaban:
Anda ingin menggunakan sesuatu seperti ini:
sumber
Saya menggunakan:
untuk menonaktifkan batas waktu layar dan
untuk mengaktifkannya kembali.
sumber
Ada juga cara XML yang direkomendasikan Google:
Periksa Google Slides - Slide 16.
sumber
PowerManager.newWakeLock
dangetWindow().addFlags
tidak berfungsi karena alasan tertentu, ini berhasil.Penting untuk diperhatikan bahwa semua metode ini harus dijalankan dari UI thread agar berfungsi. Lihat mengubah KeepScreenOn dari javascript di aplikasi Android Cordova
sumber
Tambahkan sederhana di bawah garis ke dalam Anda
MainActivity
dan Aplikasi Anda tidak pernah mematikan lampu.sumber
Dalam Tampilan, dalam kasus saya subkelas SurfaceView, Anda dapat menyetel layar selalu aktif. Saya ingin layar tetap menyala saat tampilan ini masih menggambar sesuatu.
sumber
Taruh ini di onStart
Dan ini pada Anda terwujud
Jangan lupa
di onStop
sumber
PARTIAL_WAKE_LOCK
memungkinkan layar untuk mati.ini adalah cara terbaik untuk menyelesaikannya
sumber
adalah cara yang lebih baik untuk menangani ini jika kita ingin membuat layar tertentu selalu aktif setiap saat jika tidak kita harus menangani diri sendiri kapan harus mengaktifkannya dan menonaktifkannya
https://developer.android.com/training/scheduling/wakelock.html
sumber
sumber
1. getWindow (). AddFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); adalah solusi terbaik untuk Android Asli.
2. Jika Anda ingin menggunakan aplikasi Android React, gunakan kode di bawah ini.
sumber
Ini dapat dilakukan dengan memperoleh Wake Lock.
Saya tidak mengujinya sendiri, tetapi berikut adalah tutorial kecil tentang ini.
sumber
View#setKeepScreenOn
atau atribut layout xml-nya yang setara,android:keepScreenOn="true"
WakeLock
.android:keepScreenOn="true"
adalah satu-satunya jawaban yang valid untuk kegiatan menurut saya. Jauhi wakelock kecuali benar-benar diperlukan.