个人网站建设规划实践报告上海seo博客
web/
2025/9/28 12:17:11/
文章来源:
个人网站建设规划实践报告,上海seo博客,seo是什么意思 部门,网站建设答辩ppt要点由于公司项目是在全屏下的#xff0c;所有界面都是全屏#xff0c;唯有弹出提示框的时候#xff0c;会出现系统的导航栏#xff0c;由于是平板#xff0c;导航栏信息比较多#xff0c;该项目属于永不让用户进入原系统的项目。所以有导航栏#xff0c;就让用户有了机会进… 由于公司项目是在全屏下的所有界面都是全屏唯有弹出提示框的时候会出现系统的导航栏由于是平板导航栏信息比较多该项目属于永不让用户进入原系统的项目。所以有导航栏就让用户有了机会进入后台。 本今天在网上找了很多资料试了很多方法终于可以把导航栏的图表隐藏掉点击事件也禁用了。唯有不足之处就是下面还有一个黑条不管了讲究用了。 public class StatusUtils {
//disable为是否禁用导航栏true为禁用
public static void statusBarDisable(boolean disable,Context mContext) { try { int DISABLE_NAVIGATION StatusBarManager.DISABLE_EXPAND| StatusBarManager.DISABLE_BACK| StatusBarManager.DISABLE_NOTIFICATION_ICONS| StatusBarManager.DISABLE_NOTIFICATION_ALERTS| StatusBarManager.DISABLE_NOTIFICATION_TICKER| StatusBarManager.DISABLE_SYSTEM_INFO| StatusBarManager.DISABLE_NAVIGATION| StatusBarManager.DISABLE_CLOCK;int DISABLE_NONE 0x00000000; //获得ServiceManager类 Class? ServiceManager Class .forName(android.os.ServiceManager); //获得ServiceManager的getService方法 Method getService ServiceManager.getMethod(getService, java.lang.String.class); //调用getService获取RemoteService Object oRemoteService getService.invoke(null,statusbar); //获得IStatusBarService.Stub类 Class? cStub Class .forName(com.android.internal.statusbar.IStatusBarService$Stub); //获得asInterface方法 Method asInterface cStub.getMethod(asInterface, android.os.IBinder.class); //调用asInterface方法获取IStatusBarService对象 Object oIStatusBarService asInterface.invoke(null, oRemoteService); //获得disable()方法 Method disableMethod oIStatusBarService.getClass().getMethod(disable,int.class,IBinder.class,String.class); //调用disable()方法 if(disable){ disableMethod.invoke(oIStatusBarService,DISABLE_NAVIGATION,new Binder(),mContext.getPackageName()); }else{ disableMethod.invoke(oIStatusBarService,DISABLE_NONE,new Binder(),mContext.getPackageName()); } }catch (Exception e) { Log.e(status, e.toString(), e); } }
} 这用了反射机制调用StatusManager
类的disable方法将导航的功能禁用。该类是hide的对外是不可见不可用所以只能用反射了。接下来要做的就是给应用添加权限 uses-permission android:nameandroid.permission.STATUS_BAR/ uses-permission android:nameandroid.permission.DISABLE_STATUS_BAR/
在manifest中添加android:sharedUserIdandroid.uid.system属性
最后应用要签名用signapk java -jar signapk.jar certificate.pem key.pk8 your-app.apk your-signed-app.apk
最后就Ok了。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/83326.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!