我需要在Android应用程序中禁用Home和其他系统按钮.
例如: MX Player(见谷歌播放) -你可以按"锁定"在播放器屏幕上的图标,并锁定所有的硬件和软件系统的按钮.
它工作正常,没有根本.
我在一些具有不同Android版本的设备上测试了它.我试图拆解Kids Lock(插件),但不知道它是如何工作的.
我需要像Kids Lock(插件)这样的解决方案MX Player: - 禁用Home,Back和所有其他系统按钮.
有什么建议?
我开发和应用程序是一个幻灯片放映的图片,当你点击它们时每个播放声音.这就像2-4岁的图画书.
问题是,因为android不会让你捕获主页按钮按下并基本上禁用它,当父母将电话给他们的孩子玩无人看管(勇敢的父母)时,孩子可能无意中退出应用程序然后拨打电话或否则调整手机.
还有另外两个应用程序目前有针对此问题的伪造修复程序.这些应用程序是Toddler Lock和ToddlePhone.我曾尝试联系这些应用程序的开发人员以获取一些指导,但他们并不愿意透露任何内容,如果没有问题,但是这里有人有任何建议吗?
看起来这两个应用程序都像主屏幕替换应用程序.当您在这些应用程序上启用"儿童防护模式"时,系统会提示用户选择和应用该操作,选项为"Launcher,LauncherPro等".再加上幼儿应用.然后你必须使幼儿应用程序成为默认设置,然后手机被"锁定",只能在你"解锁"手机时使用按键组合或触摸屏幕的四个角等"解锁".您正常的主屏幕应用程序默认恢复.下次启用"儿童防护模式"时,您甚至不必将幼儿应用程序设为默认应用程序.
我已经读过这两个应用程序与三星手机有问题,它们可能导致无限的崩溃和重启循环,需要恢复出厂设置.显然,这不是问题的理想解决方案,但它看起来是目前唯一可用的解决方案.
有没有人对如何实施"儿童防范模式"有任何想法?
我知道为用户控制HOME按钮是不好的建议.但我正在开发一个用于教育目的的android锁定应用程序.我正在浏览网站,并在禁用主页按钮时遇到此链接.
@override
public void onAttachedToWindow()
{
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
Run Code Online (Sandbox Code Playgroud)
目前我正在使用上面的代码禁用我的主页按钮,但我注意到即使我在我的onCreate中有这个
getWindow.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
Run Code Online (Sandbox Code Playgroud)
我无法删除我的通知栏删除.请指教.
我一直在寻找过去2天的SW,谷歌等等.我正在寻找一种方法来实现原生Android ICS锁屏附带的活动,如下面的屏幕所示.这些屏幕来自Player Pro,但我注意到其他玩家(例如PlayerPro)具有看起来完全相同的相同功能,这就是为什么我认为它是原生的或者至少有一种常见的方式来实现它.
到目前为止,我只是设法得到和使用这些标志替换锁屏的Activity:
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKEDWindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD有关这些事件的BroadCaseReciever:
Intent.ACTION_SCREEN_ONIntent.ACTION_SCREEN_OFFIntent.ACTION_USER_PRESENT我的问题是我想用锁屏来显示我的活动而不是替换它.你们知道怎么做到这一点吗?
是否有一个本机隐藏的API来做到这一点?
你能和我联系一些实现这个特殊功能的样本吗?
提前致谢 ;)

所以我的问题是:如果可以阻止用户关闭应用程序.
问题是因为我无法隐藏操作栏而我只使用平板电脑进行工作时间注册.所以,如果有人按下主页按钮或后退按钮是不可接受的.
所以我想知道我能否以某种方式处理onclose事件?
是否可以全屏打开应用程序(没有操作栏)?
在我的java应用程序中,我有这个代码
@Override
public void onAttachedToWindow()
{
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
super.onAttachedToWindow();
}
Run Code Online (Sandbox Code Playgroud)
当我为Android 2.3(10级)构建它时, 它编译并正常工作.但是,当我为Android 4.0(15级)构建它时,它编译并在运行时和崩溃后让我崩溃
07-16 14:00:03.090: E/AndroidRuntime(29487): FATAL EXCEPTION: main
07-16 14:00:03.090: E/AndroidRuntime(29487): java.lang.IllegalArgumentException: Window type can not be changed after the window is added.
Run Code Online (Sandbox Code Playgroud)
当我评论这一行,并建立它工作正常,没有问题..
//this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
Run Code Online (Sandbox Code Playgroud)
所以我不明白为什么这个代码意味着什么?
编辑: 这里有一些参考
我希望home button在我的应用程序运行时禁用Android设备.
我试过以下代码,但它没有帮助:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_HOME)) {
Toast.makeText(this, "You pressed the home button!",
Toast.LENGTH_LONG).show();
return false;
}
return super.onKeyDown(keyCode, event);
}
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (Intent.ACTION_MAIN.equals(intent.getAction())) {
Log.i("MyLauncher", "onNewIntent: HOME Key");
}
}
Run Code Online (Sandbox Code Playgroud) 我正在构建一个应用程序,它将成为展览的一部分.它将显示在可以安全安装的Nexus 7上.该应用程序具有触摸屏功能,将显示交互式内容.
我需要能够在显示时禁用尽可能多的功能,因为我不希望公众能够获得除应用程序之外的任何其他功能.
我正在努力的主要是back/home/recent app list按钮.我找到了一些禁用主页按钮的例子(儿童锁Android - 是否可以禁用主页按钮的点击 )但理想情况下我需要按钮是不可见的,所以要关闭'发光'(黑色会很好).
Nexus 7的底部是否以某种方式受到保护,是否有其他版本的Android可以让我这样做?Nexus设备仅用于显示此应用,不需要其他功能.
任何建议都会很棒,非常感谢.
android ×9
kiosk ×2
action ×1
children ×1
fullscreen ×1
java ×1
locking ×1
lockscreen ×1
nexus-7 ×1
replace ×1