2015-01-16 2 views
-3

Я делаю приложение, в котором пользователь загружает изображение с сервера, и это изображение открывается в галерее по умолчанию.Как отключить или захватить событие нажатия клавиш дома

Теперь из-за соображений безопасности, когда мое приложение переходит в состояние паузы или уничтожает состояние, путь или папку, в которую я загрузил файлы, необходимо удалить.

Код для этого отлично работает, но проблема возникает, когда пользователь открывает изображение в галерее, и при просмотре, если он нажал кнопку «домой», папка или файл не удаляются.

Так можно ли каким-либо образом, чтобы я мог отключить или захватить домашнее событие click, когда пользователь просматривает файл в галерее или любые другие приложения (офисные приложения для просмотра документов и файлов excel)?

+1

«Я делаю приложение, в котором пользователь загружает файл с сервера и изображение открывается в gallery.Now по умолчанию из соображений безопасности, когда мое приложение переходит в приостановленном state или destroy, укажите путь или папку, в которую я загрузил файлы, которые необходимо удалить ». - эти утверждения противоречат друг другу. Ваше приложение будет приостановлено, когда пользователь посещает «галерею по умолчанию», и если вы удалите эти изображения, пользователь больше не сможет просматривать эти изображения. Возможно, вам следует реализовать просмотр изображений в собственном приложении и сохранить изображения на внутренней памяти. – CommonsWare

+0

См. Http://stackoverflow.com/questions/8881951/detect-home-button-press-in-android – barq

+0

Да, я знаю, сэр, поэтому я haved проверил условие на приостановленное состояние, чтобы при удалении и когда нет. – Anuj

ответ

0

Переопределить ниже метод в вашей деятельности.

@Override 
    public void onAttachedToWindow() { 
     super.onAttachedToWindow(); 
     this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);   
    } 

После переопределения выше метода, теперь вы можете легко прослушать HOME нажмите клавишу в вашей деятельности с помощью OnKeyDown() метод.

@Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) {  

     if(keyCode == KeyEvent.KEYCODE_HOME) 
     { 
      //The Code Want to Perform. 
     } 
    }); 

попробовать эту надежду, что помогает

Смежные вопросы