Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁用在android中不起作用的后退按钮代码_Android_Back Button_Back Button Control - Fatal编程技术网

禁用在android中不起作用的后退按钮代码

禁用在android中不起作用的后退按钮代码,android,back-button,back-button-control,Android,Back Button,Back Button Control,我想禁用android应用程序的后退按钮。我想做的就是,当用户按下后退按钮时,什么都不应该发生。基本上类似于Javascript中的returnfalse。在stackoverflow中尝试了大多数答案,但似乎没有任何结果。以下是我当前使用的MainActivity中的代码 package com.ws.gostock; import android.os.Bundle; import org.apache.cordova.*; public class MainActivity exten

我想禁用android应用程序的后退按钮。我想做的就是,当用户按下后退按钮时,什么都不应该发生。基本上类似于Javascript中的returnfalse。在stackoverflow中尝试了大多数答案,但似乎没有任何结果。以下是我当前使用的MainActivity中的代码

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");
   }
}
package com.ws.gostock;
导入android.os.Bundle;
导入org.apache.cordova.*;
公共类MainActivity扩展了CordovaActivity
{
@凌驾
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//在config.xml中设置
loadUrl(Config.getStartUrl());
}
@凌驾
public void onBackPressed()
{
System.out.println(“反压”);
}
}
尝试在调试模式下运行时,发生的情况是,当我按下后退按钮时,应用程序关闭,然后代码开始调试。我不知道为什么。请有人帮我做这个


编辑:这是我的整个主要活动类

我不知道为什么会有人投反对票,但我解决了这个问题。。这是我使用的代码

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;
        }
    }
}
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//在config.xml中设置
loadUrl(Config.getStartUrl());
appView.setOnKeyListener(新视图.OnKeyListener()
{ 
公共布尔onKey(视图v、int keyCode、KeyEvent事件)
{
if(event.getAction()==KeyEvent.ACTION\u UP)
{
if(keyCode==KeyEvent.keyCode\u BACK)
{
如果(t==null)
{
t=新定时器();
t、 计划(新的重新初始化计时器(),0,1*1000);
Toast.makeText(getApplicationContext(),“再次按后退退出”,Toast.LENGTH\u SHORT.show();
}
否则如果(反压>=1)
{
完成();
}
返回true;
}
返回onKeyUp(keyCode,事件);
}
返回onKeyDown(键代码、事件);
} 
});
}
类重新初始化Timer扩展TimerTask
{
公开募捐
{
背压++;
如果(反压>3)
{
反压=0;
t、 取消();
t=零;
}
}
}

Remove
super.onBackPressed()@MikeM。成功了。。还是不行啊,科尔多瓦。我不熟悉,但你看过吗?@MikeM。是的。。仍然存在相同的问题:'(我遇到错误:找不到符号方法setOnKeyListener()。