我正在为一家公司制作专有应用程序,该应用程序永远不会将其发布到Ice Cream Sandwich(Android 4.0)中的Android Market(或我现在认为的Play商店).
我需要禁用Home,这样用户就无法恶意卸载软件或删除应用捕获的数据.这个最新版本是第一个用4.0编写的,以前的版本是用2.2和3.2编写的.
为了禁用2.2中的Home按钮,我将应用程序关联为主页替换,因此该按钮刚刚重新打开应用程序,但我无法再使用此方法,因为这有点阻止我们对应用程序进行更新(我们不知道)我想让用户选择重新选择Home默认值,因为这会导致数据删除.
我在3.2中禁用Home按钮的代码是:
@Override
public void onAttachedToWindow() {
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
Run Code Online (Sandbox Code Playgroud)
并且,在onCreate下:
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
Run Code Online (Sandbox Code Playgroud)
但是当我运行在我的3.2平板电脑上运行的相同代码时,它在我的4.0平板电脑上不起作用.
我想知道是否有一个新的API或方法可以达到与我目前在3.2实现中相同的效果.
感谢您的帮助或指导.
亚当
android android-3.0-honeycomb keyguard android-4.0-ice-cream-sandwich
我有一个应用程序,在Acer a501和三星Galaxy Tab 10.1(1和2)设备上运行许多不同的屏幕.有时,如果不做任何不同的操作,屏幕上的某些ViewGroup和TextView视图会改变其背景颜色.
我无法以任何一致性重现这一点,但即使在我调用setBackgroundColor(Color.WHITE)每个视图后,它们仍然会随机颜色为绿色,红色,黄色等.
我使用的是自定义主题,但仅用于更改EditText视图的外观.
有没有人看到这个或有一个解决方案,以防止我的观点被随机着色?
谢谢,亚当
我在我的Android项目中使用Retrofit 2.当我使用GET方法命中API端点并返回400级错误时,我可以在使用HttpLoggingInterceptor时看到错误内容,但是当我到达Retrofit OnResponse回调时,错误正文的字符串为空.
我可以看到错误有一个体,但是在Retrofit回调的上下文中我似乎无法拉出那个体.有没有办法确保身体在那里可以进入?
谢谢,亚当
编辑:我从服务器看到的响应是:{"error":{"errorMessage":"对于输入字符串:\"000001280_713870281 \"","httpStatus":400}}
我试图通过以下方式从响应中获取响应:
BaseResponse baseResponse = GsonHelper.getObject(BaseResponse.class, response.errorBody().string());
if (baseResponse != null && !TextUtils.isEmpty(baseResponse.getErrorMessage()))
error = baseResponse.getErrorMessage();
(GsonHelper只是一个帮助器,通过GSON传递JSON字符串来拉出类型的对象BaseResponse)
对response.errorBody().string()的调用导致IOException:Content-Length和流长度不一致,但我在Log Cat中看到的内容字面上是2行