2012-08-05 28 views
6

Cihaz şifreyle kilitlenmişken uygulamamın bir parçası olmayan bir Etkinliği başlatmak istiyorum. Mümkün olsa bile bunu nasıl yapabilirim?Telefon kilitliyken harici aktiviteyi başlat

Not: benim aktivitenin onCreate içinde getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); koyarak farkındayım. Bununla birlikte, kendi faaliyetimi başlatmadığımdan, ancak uygulamanızın dışındaki üçüncü taraflardan biri olan bu işe yaramayacak.

+0

Bunu neden yapmanız gerekiyor? –

+0

Telefonu açmak ve aktiviteyi göstermek mi yoksa sadece arka planda mı başlatmak ve kullanıcı telefonun kilidini açana kadar beklemek ister misiniz? – Erol

+0

Parola korumalı olduğundan telefon kilitli kalacaktır. Ama ön planda aktiviteyi başlatmak istiyorum (kilit ekranın önünde) – Jakar

cevap

1

herhangi başlatmaya çalışıyorlar eğer işe yaramaz Kilit ekranı üzerinden üçüncü parti uygulaması. Kendinizi gözlemlediğiniz gibi, etkinliğin kilit ekranı üzerinden başlatıldığından emin olmak için pencere bayrağını ayarlamanız gerekir, diğer üçüncü taraf uygulamasındaki etkinliğin de aynı bayrağı ayarlamasını sağlamanın bir yolu yoktur.

Her özelliğin farklı bir uygulamadan başka bir özellik olmadığı bir özellik paketi oluşturuyorsanız, bu özellikteki tüm giriş noktalarının bu pencere bayrağını ayarladığından emin olmanız gerekir. En iyi şey, yaratımda uygun bayrağı belirleyen ve tüm özellikli ekibin bunu giriş noktaları için temel sınıf olarak kullanmasına izin veren bir BaseActivity bildirmek olacaktır.

1

geçersiz kılma bu kilidini sonra görünür aktivitenizi getirecek

public void onAttachedToWindow() { 

    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD); 
    super.onAttachedToWindow(); 
} 

fonksiyonu.

+0

Yanılmıyorsam, bu MY aktivitesini zaten çözdüğüm ön plana getirecektir. Soruma ait ** Not ** 'a bakın. Bir üçüncü parti uygulamasında Etkinliği başlatmalı ve ön plana getirmeliyim (kilit ekranının önünde). – Jakar

1

Bu, yalnızca gerçek geliştiricinin uygulamanızın içinden açmaya çalıştığınız etkinlikte onAttachedToWindow() yöntemini geçersiz kılarak yazılı kodu olması durumunda mümkündür.

Değilse, o zaman, üzgünüm söylemek, ancak (son API gider kadarıyla) Yapmaya çalıştığınız ne yapmak için hiçbir seçenek var

+0

İndirmenin herhangi bir nedeni var mı? –