我正在评估是否以及如何移植CF .NET企业应用程序以在Android设备上运行.Windows Mobile手机上的应用程序以kiosk模式运行,其中应用程序在启动后以全屏模式自动启动,并且用户无法意外或自愿访问手机的任何其他部分.
Android上是否可以在启动后只有一个应用程序自动启动,并防止用户意外(或自愿)访问Android设备的任何其他部分?
我正试图在Android 4.4设备上隐藏系统状态栏.这适用于自助服务终端模式,我的应用程序将成为设备上唯一运行的应用程序.目前的目标设备是2013 Nexus 7.
该设备已植根,我已经能够完全删除底部导航栏,其中包含此帖子中的一些信息.
对于顶级状态栏,我尝试过的所有内容都只是暂时隐藏了栏.如果我的用户在屏幕顶部向下移动,状态栏会重新出现.我不想让他们看到时间,进入设置甚至看到通知.
我找到的帖子已经尝试过了:
有什么建议?
理想情况下,我希望能够编辑build.prop来执行此操作,因为我已经在为导航栏执行此操作,并且可以同时执行此操作.我正在尝试不必构建自己的android映像.
更新:
经过一些更多的工作,这似乎在某种程度上取决于android的确切构建,或其运行的设备.
有些设备,例如我一直在使用的Nexus系列,允许用户滑动以重新显示条形图.
但是,我最近在Verizon Eclipse上尝试了这个,并且该栏不再出现,这就是我想要的.
我仍然在寻找一种更好的解决方案来定位所有设备,但它可能会归结为创建我自己的android构建.
反正是否阻止用户滑动状态栏(展开)或折叠回来?
我正在尝试更换锁屏,看起来它是必备功能.有没有可能的方法来做到这一点而不需要root权限?
我正在使用锁屏应用程序,我需要禁用下拉屏幕顶部的通知/状态栏的功能.有一个名为Holo Locker的应用程序,这个应用程序的作用是当用户从屏幕顶部向下拉时,它只是将条形设置回到屏幕顶部并且无法将抽屉拉下来.
我不知道从哪里开始.任何帮助都会很棒!谢谢!
我试图阻止状态栏扩展,我已经使用了一些人们试图覆盖主页按钮的例子.所有解决方案都指向使用WindowManager.LayoutParams.TYPE_KEYGUARD,我在这里读到,如果使用TYPE_KEYGUARD,最小目标必须小于14.不推荐使用TYPE_KEYGUARD,所以我还需要解决这个问题.它已完全从SDK 21中删除.
问题:什么是变通方法所以我可以覆盖状态栏并将目标构建保持为19?
我有一个像这样的构建项目:
android {
compileSdkVersion 17
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.mycompany.ediary"
minSdkVersion 12
targetSdkVersion 12
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
Run Code Online (Sandbox Code Playgroud)
我试过这里的建议无济于事.我希望targetSdkVersion为19,但如果我将其更改为19,我会得到IllegalArgumentException.堆栈跟踪:
11-26 13:41:57.963 28667-28667/com.assistek.ediary E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.assistek.ediary, PID: 28667
java.lang.IllegalArgumentException: Window type can not be changed after the window is added.
at android.os.Parcel.readException(Parcel.java:1550)
at android.os.Parcel.readException(Parcel.java:1499)
at android.view.IWindowSession$Stub$Proxy.relayout(IWindowSession.java:903)
at android.view.ViewRootImpl.relayoutWindow(ViewRootImpl.java:5301)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1507)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580) …Run Code Online (Sandbox Code Playgroud) 通过使用下面的代码,我可以通过全屏隐藏通知栏
android:theme="@android:style/Theme.Holo.NoActionBar.Fullscreen"
Run Code Online (Sandbox Code Playgroud)
要么
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
Run Code Online (Sandbox Code Playgroud)
但我想要做的是完全禁用状态栏.我正处于所谓的"自助服务终端模式",我想确保用户不能从顶部挡板上滑下手指.上述两种解决方案都可以隐藏通知栏,但它不适用于在应用程序中完全禁用它.
这可能吗?