禁用在android中不起作用的后退按钮代码
我想禁用android应用程序的后退按钮。我想做的就是,当用户按下后退按钮时,什么都不应该发生。基本上类似于Javascript中的returnfalse。在stackoverflow中尝试了大多数答案,但似乎没有任何结果。以下是我当前使用的MainActivity中的代码禁用在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
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=零;
}
}
}
Removesuper.onBackPressed()代码>@MikeM。成功了。。还是不行啊,科尔多瓦。我不熟悉,但你看过吗?@MikeM。是的。。仍然存在相同的问题:'(我遇到错误:找不到符号方法setOnKeyListener()。