以编程方式展开通知面板Android

时间:2015-10-04 00:20:39

标签: android statusbar

我正在创建一个具有扩展状态栏的手势的Android应用程序..我使用以下代码将其展开..:

            try {
                Object sbservice = getSystemService("statusbar");
                Class<?> statusbarManager = Class.forName("android.app.StatusBarManager");
                Method showsb;
                if (Build.VERSION.SDK_INT >= 17) {
                    showsb = statusbarManager.getMethod("expandNotificationsPanel");
                } else {
                    showsb = statusbarManager.getMethod("expand");
                }

                showsb.invoke(sbservice);
            } catch (Exception e) {
                e.printStackTrace();
            }

我在模拟器上尝试了这个并且它有效..但是当我尝试使用真实设备时会引发异常

  

SecurityException:Permission Denial:用户要求的get / set设置   以用户-2运行,但是从用户0调用;这需要   android.permission.INTERACT_ACROSS_USERS_FULL

任何想法?

2 个答案:

答案 0 :(得分:0)

android.permission.INTERACT_ACROSS_USERS_FULL是签名级别权​​限。除非它与系统具有相同的签名,否则您的应用将无法使用它。

答案 1 :(得分:0)

您需要在manifest.xml中添加权限

%2