我正在创建一个具有扩展状态栏的手势的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
任何想法?
答案 0 :(得分:0)
android.permission.INTERACT_ACROSS_USERS_FULL
是签名级别权限。除非它与系统具有相同的签名,否则您的应用将无法使用它。
答案 1 :(得分:0)
您需要在manifest.xml中添加权限
%2