Me gustaría bloquear la pantalla. Quiero desactivar la tecla de inicio y solo usar la tecla de retroceso. ¿Cómo logro esto?Cómo deshabilitar la clave de inicio
Respuesta
Utilice este método para inhabilitar la tecla Inicio en el androide
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
¿Funciona esto con una pantalla completa SurfaceView y MediaPlayer? Parece que no. Oh, lo tengo: en este caso, TYPE_KEYGUARD_DIALOG funciona. – Yar
El usuario aún podrá deslizarse hacia abajo en la Barra de notificaciones ... y una vez que la barra esté baja, puede hacer clic en Inicio y funcionará. – MindWire
¿Lo has probado? No creo que la barra de notificación funcione. – ASH
Encontré una manera de abordar la tecla HOME. Para su aplicación establezca el manifiesto como
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MONKEY"/>
Ahora su aplicación es una aplicación Launcher alternativo.
Utilice el BAD, y desactivar el lanzador de aplicaciones usando el gestor de paquetes
pm disable com.android.launcher2
Ahora la prensa tecla de inicio permanecerá siempre en la misma pantalla.
Esta solución funciona hasta 3.x solamente.
Bien, se suponía que esta era una pregunta difícil. Pero aquí hay una manera de resolverlo.
reemplazar el método de abajo en su actividad,
@Override
public void onAttachedToWindow() {
super.onAttachedToWindow();
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
}
Y ahora controlar el evento clave de esta manera,
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_HOME)
{
Log.i("Home Button","Clicked");
}
if(keyCode==KeyEvent.KEYCODE_BACK)
{
finish();
}
return false;
}
Para desactivar el botón de inicio, intente esto:
@Override
public void onAttachedToWindow() {
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
El problema con la barra de notificaciones puede resolverse ocultando la barra de notificaciones como aquí:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.xxxx);
getWindow().addFlags(LayoutParams.FLAG_FULLSCREEN);
....
}
o establecer el tema de pantalla completa para su actividad o aplicación en el manifiesto:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
Añadir este código a la clase MainActivity
:
Timer timer;
MyTimerTask myTimerTask;
@Override
protected void onResume() {
super.onResume();
if (timer != null) {
timer.cancel();
timer = null;
}
}
@Override
protected void onPause()
{
if (timer == null) {
myTimerTask = new MyTimerTask();
timer = new Timer();
timer.schedule(myTimerTask, 100, 100);
}
super.onPause();
}
private void bringApplicationToFront()
{
KeyguardManager myKeyManager = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
if(myKeyManager.inKeyguardRestrictedInputMode())
return;
Log.d("TAG", "====Bringging Application to Front====");
Intent notificationIntent = new Intent(this, MainActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
try
{
pendingIntent.send();
}
catch (PendingIntent.CanceledException e)
{
e.printStackTrace();
}
}
public void onBackPressed() {
// do not call super onBackPressed.
}
class MyTimerTask extends TimerTask {
@Override
public void run() {
bringApplicationToFront();
}
}
No es un bloqueo para el botón de 'casa' , pero el usuario no puede cambiar a otra aplicación durante mucho tiempo (más de 100 milisegundos), tal vez esto es lo que quiere.
- 1. Cómo deshabilitar la página de inicio de Tomcat
- 2. ¿Cómo deshabilitar/habilitar la clave de retorno en un UITextField?
- 3. Deshabilitar complementos en el inicio de Eclipse
- 4. android: deshabilitar la barra de acciones botón de inicio
- 5. Cómo deshabilitar NSDictionary Ordenar automáticamente la clave sabia
- 6. ¿Cómo deshabilitar el botón de inicio sin usar TYPE_KEYGUARD?
- 7. Deshabilitar el botón de inicio en la aplicación de pantalla de inicio?
- 8. C# Como no deshabilitar una clave
- 9. Cómo deshabilitar la palabra clave de la interfaz en Visual C++ Express 2008?
- 10. Deshabilitar botón de inicio en Android ICS (4.0)
- 11. Deshabilitar la eliminación de errores de Visual Studio ASP.Net del navegador de inicio
- 12. ¿Deshabilitar restricción de clave externa en una tabla?
- 13. ¿Cómo deshabilitar la ayuda en IntelliJ Idea?
- 14. Cómo deshabilitar javax.swing.JButton en java?
- 15. SSIS: ¿Cómo deshabilitar la tarea?
- 16. ¿Deshabilitar el botón de inicio en la aplicación de Android para niños pequeños?
- 17. deshabilitar verificación de clave externa eliminar tablas InnoDB Perl Script
- 18. Cómo deshabilitar la redirección después de login_check en Symfony 2
- 19. Deshabilitar la barra de herramientas de aquamacs en mi archivo de inicio
- 20. Cómo deshabilitar la página de administrador de Solr
- 21. deshabilitar el botón predeterminado o introduzca clave en asp.net C#
- 22. ¿Cómo deshabilitar los efectos de sonido en el inicio de Ubuntu?
- 23. Cómo deshabilitar la palabra clave var bajo el objetivo .net 2.0?
- 24. Cómo deshabilitar la selección de caja de camello en Eclipse
- 25. emacs:. Cómo deshabilitar la creación de # archivos
- 26. Cómo deshabilitar la traducción de mensajes Postgresql
- 27. Cómo deshabilitar la carga de Amazon EC2?
- 28. Cómo deshabilitar la acción de envío
- 29. Cómo deshabilitar la sangría automática de Xcode?
- 30. ¿Cómo deshabilitar la molesta 'terminación de paréntesis'?
vea aquí, la respuesta rápida parece que necesita implementar un reemplazo de pantalla de inicio: http://stackoverflow.com/questions/3953689/how-to-lock-android-buttons-phone-from-code-screen- bloquear http://stackoverflow.com/questions/2162182/android-is-it-possible-to-disable-the-click-of-home-button/3955217#3955217 http://stackoverflow.com/questions/3724509/ yendo a casa-pantalla-programáticamente http://www.toddlerlock.com/3.html – mishkin
Hola ... Tienes la solución. También estoy tratando de deshabilitar la tecla de inicio para mi aplicación de pantalla de bloqueo, pero no está funcionando. –