iT邦幫忙

0

android禁止使用STATUS_BAR

我在APP上嘗試阻止使用者使用STATUS_BAR,可是android.permission.STATUS_BAR為系統級app才能使用的權限,導致disableStatusBar()執行時會拋出java.lang.SecurityException: StatusBarManagerService: Neither user 10133 nor current process has android.permission.STATUS_BAR. 請問有甚麼方法可以解決權限的問題嗎?或是還有甚麼方法可以阻止使用者使用STATUS_BAR呢?

    public void disableStatusBar() {
        try {
            @SuppressLint("WrongConstant")
            Object service = context.getSystemService("statusbar");
            Class<?> claz = Class.forName("android.app.StatusBarManager");
            Method disable = claz.getMethod("disable", new Class[]{int.class});
            disable.setAccessible(true);
            disable.invoke(service, DISABLE_EXPAND);
        } catch (Exception e) {
            System.out.println("e: " + e.toString());
            System.out.println(e.getCause());
            e.printStackTrace();
        }
    }

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2021-09-24 15:38:34

試試看這篇

這個我之前試過,因為StatusBarManager的disable為hide且UnsupportedAppUsage,所以改用Class.getMethod(),結果最後還是卡在android.permission.STATUS_BAR這一關...

我要發表回答

立即登入回答