xxxManager常见的几种获取方法
来源:互联网 发布:java上传压缩包 编辑:程序博客网 时间:2024/06/07 02:28
1、xxxManager的获取方法
a、拿到系统服务:xxxManager = context.getSystemService(name.service)
ActivityManager am = (ActivityManager) getSystemService(ACCESSIBILITY_SERVICE);
b、直接通过上下文.getXXX形式获得
PackageManager pm = context.getPackageManager();
c、通过实例获得
AppWidgetManager manager = AppWidgetManager.getInstance(this);
2、举例如下:
1、activityManager获取手机的内存信息(运行内存,总内存)
private void initRunningInfo() { //ActivityManager 一般用来获取正在运行的一些信息,可以用来管理四大组件 //PackageManager 一般用来获取手机上安装的应用到信息 // 使用系统的API获取系统正在运行的进程的一些信息 List<RunningAppProcessInfo> runningAppProcesses = am.getRunningAppProcesses(); runningcount = runningAppProcesses.size(); // 给运行进程数赋值 tv_running_progress.append(runningAppProcesses.size() + "个"); // 方法以get开头,但是返回结果是void 那么就从那个参数对象中获取 // 这个对象相当于一个盒子 outInfo = new MemoryInfo(); am.getMemoryInfo(outInfo); // 分别使用系统的API获取系统现在可用的内存以及总的内存信息 long availMem = outInfo.availMem; // 这一句必须在4.1以上的手机才可以使用 16 // 低版本手机可以从 /proc/meminfo 文件 读取 long totalMem = outInfo.totalMem; String availMemStr = Formatter.formatFileSize(this, availMem); totalMemStrt = Formatter.formatFileSize(this, totalMem); tv_memory_info.append(availMemStr + "/" + totalMemStrt);}
2、windowManager进行自定义吐司
吐司的原理就是,通过使用WindowManager使用getsystem的服务,在窗体上面添加一个view(使用addView的方法)
//外拨电话,MyOutGoingCallReceiver outGoingCallReceiver = new MyOutGoingCallReceiver();IntentFilter filter = new IntentFilter();filter.addAction("android.intent.action.NEW_OUTGOING_CALL");filter.setPriority(Integer.MAX_VALUE);// 外拨电话广播registerReceiver(outGoingCallReceiver, filter);private class MyOutGoingCallReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub String number = getResultData(); String location = Apputils.getLocationFormNumber(number, context); //1.使用WindowManager拿到系统的服务 WindowManager mWM = (WindowManager) getSystemService(Context.WINDOW_SERVICE); //2.给addView的第一个参数填充属性 TextView tv = new TextView(context); tv.setText(location); tv.setTextColor(Color.RED); tv.setTextSize(30); //3.给addView的第二个参数:params填充属性 WindowManager.LayoutParams params = new WindowManager.LayoutParams(); params.height = WindowManager.LayoutParams.WRAP_CONTENT; params.width = WindowManager.LayoutParams.WRAP_CONTENT; params.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON; | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE // 将不能触摸的标记注释掉 params.format = PixelFormat.TRANSLUCENT; //下面这一行没用,删了 //params.windowAnimations=com.android.internal.R.style.Animation_Toast; // 窗体的类型 分为三个级别的窗体 应用级别 子窗体级别 系统窗体级别 params.type = WindowManager.LayoutParams.TYPE_PRIORITY_PHONE; params.setTitle("mzk"); //4.使用:给窗体添加上view mWM.addView(view, params); }}
3、packageManager:拿到包的应用信息
注:作用的范围不同(getPackageInfo是整个的清单文件,而getApplicationInfo是application节点下的东西)
// 获得系统的包的管理 PackageManager manager = getPackageManager(); // PackageInfo是系统封装的一个javabean对象 对整个清单文件的封装// 通过包管理获得包的信息// 写入0代表所有的信息都要 PackageInfo info = manager.getPackageInfo(getPackageName(), 0);// 得到项目清单文件的code和name int versionCode = info.versionCode; String versionName = info.versionName;
4、桌面部件AppWidgetProvider
注:虽然后缀是provider,其实是一个receiver(继承自BroadcastReceiver)
private AppWidgetManager manager;manager = AppWidgetManager.getInstance(this);
0 0
- xxxManager常见的几种获取方法
- 获取SQL执行计划的常见几种方法
- 几种常见的排序方法
- 几种常见的数据库连接方法
- 几种常见的ajax实现方法
- 几种常见的数据库连接方法
- 几种常见的数据库连接方法
- 几种常见的排序方法
- 几种常见的排序方法
- Java 延时常见的几种方法
- 几种常见的内部排序方法
- 几种常见的排序方法
- 几种常见的排序方法
- 几种常见的误差评估方法
- 清除浮动的几种常见方法
- 同步方法的几种常见写法
- Linux常见的几种加固方法
- Java 延时常见的几种方法
- 冒泡排序算法
- JVisualVM 进行性能分析及调优
- 一、[LeetCode OJ]3Sum题解
- 用户注册信息验证
- oracle 常用知识点整理
- xxxManager常见的几种获取方法
- 环信easepreferencemanager空指针
- Java反射-泛型的本质
- 这是我的第一个博客
- 在centos 中添加一个新用户,并授权
- Hibernate4-12 管理Session与批量操作
- JZOJ 【BOI2012】Peaks
- 第一章 初始C++
- 后台学习一---spring+maven+mybatis+mysql+junit整合