受限制的用户透明活动

时间:2017-12-19 09:10:10

标签: android android-activity dialog android-theme lockscreen

我写了一个应用程序,它以一个对话框启动一个活动,带有一个" OK" -Button。如果我按下按钮,对话框应该关闭。 我的Android版本是4.3。

如果用户是所有者,它可以正常工作,但如果用户是受限用户则不行。对话框消失但屏幕仍然被锁定并带有灰色覆盖,就像显示对话框一样。因此,我无法在屏幕上按下后退和主页按钮。但屏幕仍然锁定。

受限制的用户拥有所有权利。

当我在设备上安装应用程序时,它正常工作,直到我重新启动设备。比出描述的问题出现了。

当我尝试使用透明活动时,我遇到了同样的问题。当我使用"<item name="android:windowIsTranslucent">true</item>"

时,问题就在这里

这是我的代码:

Styles.xml:

<style name="Theme.Transparent" parent="android:Theme"> 
    <item name="android:windowIsTranslucent">true</item>        
    <item name="android:windowBackground">@android:color/transparent</item>     
    <item name="android:windowContentOverlay">@null</item>
    <item name="android:windowNoTitle">true</item>      
    <item name="android:textSize">16sp</item>
    <item name="android:backgroundDimEnabled">false</item>    
    <item name="android:windowFullscreen">true</item>
</style>
<style name="UserDialog" parent="android:style/Theme.Dialog">
        <item name="android:windowAnimationStyle">@null</item>
        <item name="android:windowEnterAnimation">@null</item>
        <item name="android:windowExitAnimation">@null</item>

    <!--item name="android:windowFrame">@null</item-->
    <!--item name="android:windowIsFloating">true</item-->
    <!--item name="android:windowIsTranslucent">true</item-->
    <!-- item name="android:windowNoTitle">true</item-->
    <!-- item name="android:background">@android:color/transparent</item-->
    <!-- item name="android:windowBackground">@color/trans</item-->
</style>

如您所见,我试图覆盖动画。与here一样,也尝试了this
我可以使用&#34; Theme.Transparent&#34;或&#34; UserDialog&#34;,都会导致此错误。

AndroidManifest.xml:

<activity
        android:name="com.example.test.TestActivity"
        android:label="@string/title_testactivity"
        android:theme="@style/UserDialog">
</activity>  

的活动:

public void OnClickButtonListener(){
        Button button_ok = (Button)findViewById(R.id.okButton);
        button_ok.setOnClickListener(
                new View.OnClickListener() {                    
                    @Override
                    public void onClick(View v) {
                        finish();
                    }
                }
            );
    }

MainActivity:

Intent intent = new Intent(getApplicationContext(), TestActivity.class);                    
startActivity(intent);  
finish();

有没有人知道如何使这项工作?

编辑:如果对话/横向活动从其他活动开始或在启动时通过广播接收器发生问题。如果服务启动活动,也会出现这种情况。

0 个答案:

没有答案