2010-05-04 17 views
8

Uygulamam, ekran karartıldığında bir şey yapmaz, ancak ekranın "ekranın kendi kendine kapanması" durumunda bir ekran zaman aşımına uğrarsa, yalnızca bu görevi gerçekleştirmesini istiyorum - kullanıcı güç düğmesine bastığında DEĞİL. Bu iki olay arasında ayrım yapmak için herhangi bir yolu var mı? Her iki durumda da apaçık bir şekilde patlar ve aradığım şeyle eşleşebilecek herhangi bir başka amaç bulamadım.Ekran zaman aşımı ve güç düğmesi arasında ayrım yapın?

Yardımlarınız için

sayesinde Nick

+0

olduğunu uyar yapmaya çalışıyor musun? Dinlenecek başka bir eylem olabilir. – CaseyB

+0

Ekran zaman aşımına uğradığında basit bir hesaplama yapmaya çalışıyorum, ancak kullanıcı güç düğmesine basıp “zorla” ekranı kapattığında yapmayacağım. Bir "Zaman Aşımı" -Aksiyon harika olurdu ama henüz benzer bir şey bulamadım. Kilit ekranının açık olup olmadığını sorgulamak mümkün mü (genelde inanıyorum ki, sadece güç düğmesine bastığınızda, en azından N1'de olur)? – Nick

+0

Bunu neden sadece bu durumda yapmak istersiniz? Eğer * ne * ve * nedenini * açıklarsanız, belki birisi size daha iyi bir çözüm önerebilir. –

cevap

4

Daha düşük bir seviyede, ekran zaman aşımına uğradığında meydana gelen bir olay var, "adb logcat" ile bir göz atın ve göreceksiniz, oradan kazmak.

+0

Cevabınız için teşekkür ederiz. Bunu gördüm, ama kamuya açık bir yayın olmadığı için bunu dinleyemediğimi düşündüm, ama eminim ki, teorik olarak mümkün olduğunu söylerseniz, google'da bununla ilgili bir şeyler bulacağım (ortak araçlarla olmasa da) , Sanırım). Teşekkürler! – Nick

0

Bir KEYCODE_POWER klavye olayı dinleyebilir miyim? İstediğin şeyi yapabilir. (Fakat bu ve ACTION_SCREEN_OFF cihazının ulaştığı sıra, garanti edilemez).

+0

Merhaba, cevabınız için teşekkürler! Bu iyi bir fikir, sadece denedim ve işe yaramadı, bu anahtar kodunu yakalamak mümkün görünmüyor: http://groups.google.com/group/android-developers/browse_thread/thread/8c858b7a8605791d/ 9120aa96dfb59d82? Lnk = raot Ayrıca, bu anahtar olayı sistem çapında kaydetmem gerekecek çünkü bu da mümkün olmayan bir hizmet kullanıyorum: -/ Ama yardımlarınız için teşekkürler, bu bir iyi fikir, eğer işe yaradıysa, mükemmel olurdu :-)! – Nick

1

Hizmetler, düğme olaylarını doğrudan işleyemez. Belki de, ekranınız kapalıyken bildirim almak için bir yayın alıcısına bir kayıt alıcınız olabilir ve ardından güç düğmesinin olup olmadığını görmek için Son tuşuna basıp Etkinlik kontrolüne sahip olabilirsiniz. Hizmetinize yayın yapın ve istediğiniz her şeyi çalıştırın.

eğlenceli bir soru :) doğru olmasa da, kullanıcıya son dokunma olayı beri ve etkinlik duraklatma gider zaman zaman örnekleme deneyebilirsiniz
İlgili konular