当前位置: 首页 > wzjs >正文

北京 网站设计公司热门国际新闻

北京 网站设计公司,热门国际新闻,网站悬挂备案号,正规货源网站大全获取应用相关信息&#xff1a; PS:manifest标签中设置以下属性表示系统应用 android:process"system" android:sharedUserId"android.uid.system" //获取所有应用&#xff08;非系统apk&#xff0c;有些应用获取不到&#xff09; List<ApplicationInf…

获取应用相关信息:

PS:manifest标签中设置以下属性表示系统应用
android:process="system" android:sharedUserId="android.uid.system"

//获取所有应用(非系统apk,有些应用获取不到)
List<ApplicationInfo> installedApplications = getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA);

获取缓存,apk体积,存储大小,版本号等:

    //全局变量,保存当前查询包得信息private long cachesize ; //缓存大小private long datasize  ;  //数据大小private long codesize  ;  //应用程序大小private long totalsize ; //总大小//获取相关数据public void  queryPacakgeSize() {getPackageSizeInfo(new PackageStatsObserver());}/** * 8.0及以下回调使用* */private class PackageStatsObserver extends IPackageStatsObserver.Stub {@Overridepublic void onGetStatsCompleted(PackageStats pStats, boolean succeeded) throws RemoteException {Log.d("hsh", "packageName = "+pStats.packageName+"---"+(pStats.cacheSize + pStats.externalCacheSize));// 在此处理 PackageStats 数据// TODO Auto-generated method stubcachesize = pStats.cacheSize  ; //缓存大小datasize = pStats.dataSize  ;  //数据大小codesize = pStats.codeSize  ;  //应用程序大小totalsize = cachesize + datasize + codesize ;
//            Log.i("hsh", "cachesize--->"+cachesize+" datasize---->"+datasize+ " codeSize---->"+codesize)  ;setViewData();}}/** * 获取apk体积,内存,缓存信息* */private void getPackageSizeInfo( IPackageStatsObserver.Stub observer) {Context context = SettingApplication.getInstance();if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {final StorageStatsManager storageStatsManager = (StorageStatsManager) context.getSystemService(Context.STORAGE_STATS_SERVICE);final StorageManager storageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);try {StorageStats storageStats = storageStatsManager.queryStatsForPackage(applicationInfo.storageUuid,applicationInfo.packageName, UserHandle.getUserHandleForUid(applicationInfo.uid));
//                StorageStats storageStats = storageStatsManager.queryStatsForUid(applicationInfo.storageUuid, applicationInfo.uid);cachesize = storageStats.getCacheBytes();//缓存大小datasize = storageStats.getDataBytes();//数据大小codesize = storageStats.getAppBytes();//应用程序大小totalsize = cachesize + datasize + codesize ;
//                Log.i("hsh", "packageName:"+this.applicationInfo+",,"+cachesize + ",," + datasize + ",," + codesize+",,"+totalsize);setViewData();} catch (Exception e) {e.printStackTrace();}} else {//9.0及以上此方法无效,会抛出错误try {Method method = pm.getClass().getMethod("getPackageSizeInfo", String.class, IPackageStatsObserver.class);method.invoke(pm, this.applicationInfo.packageName, observer);}  catch (Exception e) {e.printStackTrace();}}}private void  setViewData(){try {ApplicationInfo app = mContext.getPackageManager().getApplicationInfo(this.applicationInfo.packageName, 0);PackageInfo packageInfo = pm.getPackageInfo(app.packageName, PackageManager.GET_SIGNATURES);//赋值缓存tvAppCacheData.setText(formateFileSize(datasize));//有些apk获取不到内存大小,所以通过file.length()去获取if (!TextUtils.isEmpty(applicationInfo.sourceDir)) {File file = new File(applicationInfo.sourceDir);tvAppMemoryData.setText(formateFileSize(file.length()));//赋值apk大小} else {tvAppMemoryData.setText(formateFileSize(codesize));}//获取版apk其他应用消息,比如说版本versionCode,versionName等tvAppVersionCode.setText(packageInfo.versionName);} catch (PackageManager.NameNotFoundException e) {e.printStackTrace();}}//系统函数,字符串转换 long -String (kb)private String formateFileSize(long size){return Formatter.formatFileSize(mContext, size);}

清除缓存,通过反射deleteApplicationCacheFiles清除缓存数据,看了下没什么效果改成clearApplicationUserData后测试可以:

  public  void deleteDir(String packageName) {try {Method method = pm.getClass().getMethod("clearApplicationUserData",String.class,IPackageDataObserver.class);// 指定目标应用包名(如 com.example.app)method.invoke(pm, packageName, new IPackageDataObserver.Stub() {@Overridepublic void onRemoveCompleted(String pkg, boolean success) {// 清理完成回调Log.i(TAG, "onRemoveCompleted: "+pkg+"====="+success);ToastUtil.s(R.string.str_clear_cache);}});} catch (Exception e) {e.printStackTrace();}}

PS:查看底层代码发现8.0以后被强制抛出异常

http://www.dtcms.com/wzjs/165910.html

相关文章:

  • 电脑网站建设方案广告联盟app
  • 网站设计收费推广什么app佣金高
  • 学做家常菜的网站有哪些技能培训机构
  • 制作简单的站点推广方案株洲最新今日头条
  • 代备案网站郑州网站推广方案
  • 网站域名怎么缴费营销网站建设哪家快
  • 自己的网站如何做快照劫持seo品牌优化百度资源网站推广关键词排名
  • 深圳网站制作公司信息今日国际新闻大事件
  • 做网站框架浏览时怎么变长网站可以自己做吗
  • 无需登录免费观看的直播seo交互论坛
  • 资源库网站建设网络运营培训课程
  • 网站开发知识版权seo运营是什么
  • 耒阳市古雍网站建设店反向链接查询
  • 网站没有关键词如何建网站不花钱
  • 东莞网站推广哪家好威海seo优化公司
  • 怎样做网站维护广州网站优化价格
  • 网站是用php还是asp 怎么区别软文素材网站
  • wordpress文字数据库windows优化大师要会员
  • 创建网站代码西安网站优化培训
  • 做废钢推广网站使用网站模板快速建站
  • 做seo必须有自己网站吗交换链接营销案例
  • 宿迁建设局网站好搜自然seo
  • 做网站最便宜要多少钱如何写软文
  • 前端开发主要做什么seo怎么做?
  • 漳州开发区人才网seo网站排名优化软件是什么
  • 哪个网站兼职做图好希爱力双效片副作用
  • 成都房地产管理局关键词长尾词优化
  • 北京做网站开发公司哪家好关键词的作用
  • 湛江网站建设湛江sem托管公司
  • 石家庄商城网站建设十大中文网站排名