2016-01-07 10 views
-2

Я хочу отключить кнопку «Назад» для моего приложения для Android. Все, что я хочу сделать, это когда пользователь нажимает кнопку «Назад», ничего не должно произойти. В принципе, как возврат false в Javascript. Пробовал большинство ответов в stackoverflow, но ничего не получается. Ниже приведен код, который я имею в моем MainActivity, что я использую в настоящее время,Отключить код кнопки обратной связи, не работающий в android

package com.ws.gostock; 

import android.os.Bundle; 
import org.apache.cordova.*; 

public class MainActivity extends CordovaActivity 
{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     // Set by <content src="index.html" /> in config.xml 
     loadUrl(Config.getStartUrl()); 
    } 

    @Override 
    public void onBackPressed() 
    { 
     System.out.println("back pressed"); 
    } 
} 

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

EDIT: Это вся моя MainActivity Класс

+2

Удалить 'супер. onBackPressed(); '. –

+0

@MikeM. Сделал это .. все еще не работает – Chaze

+0

Ох, Кордова. Я не знаком, но вы посмотрели [этот пост] (http://stackoverflow.com/questions/15834629/android-droidgap-disabling-back-button)? –

ответ

0

Я не знаю, почему downvotes, но я исправил проблему .. вот код, который я использовал,

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    // Set by <content src="index.html" /> in config.xml 
    loadUrl(Config.getStartUrl()); 

    appView.setOnKeyListener(new View.OnKeyListener() 
    { 
     public boolean onKey(View v, int keyCode, KeyEvent event) 
     { 
      if (event.getAction() == KeyEvent.ACTION_UP) 
      { 
       if(keyCode == KeyEvent.KEYCODE_BACK) 
       { 
        if(t == null) 
        { 
         t = new Timer(); 
         t.schedule(new reInitializeTimer(), 0, 1*1000); 
         Toast.makeText(getApplicationContext(), " Press Back again to Exit ", Toast.LENGTH_SHORT).show(); 
        } 
        else if(backpress >= 1) 
        { 
         finish(); 
        } 

        return true; 
       } 
       return onKeyUp(keyCode, event); 
      } 
      return onKeyDown(keyCode, event); 
     } 
    }); 
} 

class reInitializeTimer extends TimerTask 
{ 
    public void run() 
    { 
     backpress++; 
     if(backpress > 3) 
     { 
      backpress = 0; 
      t.cancel(); 
      t = null; 
     } 
    } 
} 

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

  • Нет связанных вопросов^_^