相关疑难解决方法(0)

防止出现android的状态栏(修改)

我正在实现一个信息亭模式应用程序,我已经成功地使应用程序全屏没有状态栏外观4.3但无法隐藏4.3和4.4中的状态栏,因为当我们向下滑动屏幕顶部时状态栏出现.

我试图让它全屏显示

  • 在清单中指定全屏主题
  • 设置窗口标志即setFlags
  • setSystemUiVisibility

可能重复但未找到具体解决方案

永久隐藏Android状态栏

最后我想要的是,如何在活动中永久隐藏状态栏?在android 4.3,4.4,5,6versions中

android kiosk statusbar

26
推荐指数
2
解决办法
3万
查看次数

IllegalArgumentException:添加窗口后无法更改窗口类型

我试过的建议在这里,建议在此情况下,建议在这里,我已经在我的基本活动注释掉onAttachedToWindow().我有两个活动继承自这个类BaseActivity.一个运行,一个不运行.有什么区别?我的目标SDK是19; 将它改为12没有区别.这是我的onCreate for BaseActivity:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
    requestWindowFeature(Window.FEATURE_NO_TITLE);
    super.onAttachedToWindow();
    super.onCreate(savedInstanceState);

    ....
    }
Run Code Online (Sandbox Code Playgroud)

当导航到第二个活动时,单步执行代码,它会通过onCreate(),onResume(),然后崩溃.

可能是什么问题呢?

堆栈跟踪:

06-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)
        at android.view.Choreographer.doFrame(Choreographer.java:550)
        at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
        at android.os.Handler.handleCallback(Handler.java:739)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5254) …
Run Code Online (Sandbox Code Playgroud)

android android-windowmanager android-activity

21
推荐指数
1
解决办法
1万
查看次数

禁用通知面板被拉下来

我正在使用锁屏应用程序,我需要禁用下拉屏幕顶部的通知/状态栏的功能.有一个名为Holo Locker的应用程序,这个应用程序的作用是当用户从屏幕顶部向下拉时,它只是将条形设置回到屏幕顶部并且无法将抽屉拉下来.

我不知道从哪里开始.任何帮助都会很棒!谢谢!

android android-notification-bar

12
推荐指数
3
解决办法
4万
查看次数

如何在不使用TYPE_KEYGUARD的情况下禁用Home键?

我创建一个锁屏应用程序,我需要禁用一个主页按钮,所以如果该手机被盗,该手机无法访问..我的锁屏是一个全屏活动..我使用此代码禁用主页按钮,但它给了我一些bug.这是代码:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

    }

    @Override
    public void onAttachedToWindow()
    {  
        this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);     
        super.onAttachedToWindow();  
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

该代码给了我一些像通知/状态区域的错误,即使我在全屏模式下的活动仍然可以访问,如果我关闭我的显示并再次打开它..错误是这样的:

第一次申请开始:(仍然没问题)

在此输入图像描述

从电源按钮关闭屏幕并再次打开后: 在此输入图像描述

主要问题是在锁屏上..当仍然可以访问通知区域时,锁屏无用..

任何想法如何解决这个?请帮忙..

当我按下结束键按钮时,我也遇到了同样的问题.

android android-manifest android-layout android-notifications

5
推荐指数
1
解决办法
2万
查看次数

Android Crash,java.lang.IllegalArgumentException:添加窗口后无法更改窗口类型

我上传了一个Android应用程序到市场,由于某种原因,用户收到此错误.

java.lang.IllegalArgumentException: Window type can not be changed after the window is added.
at android.os.Parcel.readException(Parcel.java:1331)
at android.os.Parcel.readException(Parcel.java:1281)
at android.view.IWindowSession$Stub$Proxy.relayout(IWindowSession.java:664)
at android.view.ViewRootImpl.relayoutWindow(ViewRootImpl.java:3594)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1193)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2450)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4444)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

我很确定我从未WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG在其他帖子中引用过.但是,我有一个在WindowManager.LayoutParams.TYPE_PHONE和之间切换的窗口WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY.这似乎可能是错误.我宁愿不改变它,因为它需要我有两个窗口而不是一个.提前致谢!

android android-windowmanager

5
推荐指数
1
解决办法
6971
查看次数