android常用函数
- package com.cqytjr.util;
- import java.io.File;
- import java.net.InetAddress;
- import java.net.NetworkInterface;
- import java.net.SocketException;
- import java.util.Enumeration;
- import android.app.Activity;
- import android.content.Context;
- import android.content.Intent;
- import android.content.pm.PackageManager.NameNotFoundException;
- import android.net.Uri;
- import android.net.wifi.WifiInfo;
- import android.net.wifi.WifiManager;
- import android.telephony.TelephonyManager;
- import android.util.Log;
- import android.view.WindowManager;
- /**
- * app处理工具类
- *
- * @author chenliang
- * @version v1.0
- * @date 2014-2-20
- */
- public class AppUtil {
- /**
- * 描述:安装APK
- *
- * @param context
- * the context
- * @param file
- * apk文件路径
- */
- public static void installApk(Context context, File file) {
- Intent intent = new Intent();
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.setAction(android.content.Intent.ACTION_VIEW);
- intent.setDataAndType(Uri.fromFile(file),
- "application/vnd.android.package-archive");
- context.startActivity(intent);
- }
- /**
- * 描述:卸载程序.
- *
- * @param context
- * the context
- * @param packageName
- * 要卸载程序的包名
- */
- public static void uninstallApk(Context context, String packageName) {
- Intent intent = new Intent(Intent.ACTION_DELETE);
- Uri packageURI = Uri.parse("package:" + packageName);
- intent.setData(packageURI);
- context.startActivity(intent);
- }
- /**
- * 获取版本号
- *
- * @param context
- * @return
- */
- public static int getVersionCode(Context context) {
- try {
- return context.getPackageManager().getPackageInfo(
- context.getPackageName(), 0).versionCode;
- } catch (NameNotFoundException e) {
- LogUtil.error("获取版本号失败");
- e.printStackTrace();
- }
- return 0;
- }
- /**
- * 获取版本名
- *
- * @param context
- * @return
- */
- public static String getVersionName(Context context) {
- try {
- return context.getPackageManager().getPackageInfo(
- context.getPackageName(), 0).versionName;
- } catch (NameNotFoundException e) {
- LogUtil.error("获取版本名失败");
- e.printStackTrace();
- }
- return "";
- }
- /**
- * 获取设备的IMEI/设备号
- *
- * @param context
- * @return IMEI/设备号
- */
- public static String getIMEI(Activity context) {
- TelephonyManager tm = (TelephonyManager) context
- .getSystemService(Context.TELEPHONY_SERVICE);
- return tm.getDeviceId();
- }
- /**
- * 保存屏幕常亮
- *
- * @param context
- */
- public static void keepLight(Activity activity) {
- // 保持屏幕常亮
- activity.getWindow().addFlags(
- WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
- }
- /**
- * 获取本机IP地址
- */
- public static String getLocalIpToString() {
- try {
- for (Enumeration<NetworkInterface> en = NetworkInterface
- .getNetworkInterfaces(); en.hasMoreElements();) {
- NetworkInterface intf = en.nextElement();
- for (Enumeration<InetAddress> enumIpAddr = intf
- .getInetAddresses(); enumIpAddr.hasMoreElements();) {
- InetAddress inetAddress = enumIpAddr.nextElement();
- if (!inetAddress.isLoopbackAddress()) {
- return inetAddress.getHostAddress().toString();
- }
- }
- }
- } catch (SocketException ex) {
- Log.e("WifiPreference IpAddress", ex.toString());
- }
- return null;
- }
- /**
- * 获取本机电话号码
- *
- * @param context
- * @return
- */
- public static String getPhone_num(Context context) {
- String phone = ((TelephonyManager) context
- .getSystemService(Context.TELEPHONY_SERVICE)).getLine1Number();
- return phone;
- }
- /**
- * Role:Telecom service providers获取手机服务商信息 <BR>
- * 需要加入权限<uses-permission
- * android:name="android.permission.READ_PHONE_STATE"/> <BR>
- */
- public static String getProvidersName(Context context) {
- String ProvidersName = null;
- // 返回唯一的用户ID;就是这张卡的编号神马的
- String IMSI = ((TelephonyManager) context
- .getSystemService(Context.TELEPHONY_SERVICE)).getSubscriberId();
- // IMSI号前面3位460是国家,紧接着后面2位00 02是中国移动,01是中国联通,03是中国电信。
- System.out.println(IMSI);
- if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) {
- ProvidersName = "中国移动";
- } else if (IMSI.startsWith("46001")) {
- ProvidersName = "中国联通";
- } else if (IMSI.startsWith("46003")) {
- ProvidersName = "中国电信";
- }
- return ProvidersName;
- }
- /**
- * 获取本机MAC地址
- *
- * @param context
- * @return
- */
- public static String getMac(Context context) {
- String macAddress = null;
- WifiManager wifiMgr = null;
- Object obj = context.getSystemService(Context.WIFI_SERVICE);
- if (null != obj) {
- wifiMgr = (WifiManager) obj;
- }
- WifiInfo info = (null == wifiMgr ? null : wifiMgr.getConnectionInfo());
- if (null != info) {
- macAddress = info.getMacAddress();
- }
- return macAddress;
- }
- }
android常用函数的更多相关文章
- Android常用的物理按键及其触发事件
Activity和View都能接收触摸和按键,如果响应事件只需要在继承类里复写事件函数即可:当一个视图(如一个按钮)被触摸时,该对象上的 onTouchEvent() 方法会被调用.不过,为了侦听这个 ...
- Android 常用代码大集合 [转]
[Android]调用字符串资源的几种方法 字符串资源的定义 文件路径:res/values/strings.xml 字符串资源定义示例: <?xml version="1.0&q ...
- Android常用开源项目
Android开源项目第一篇——个性化控件(View)篇 包括ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.Progre ...
- EventBus的其他常用函数
上一篇EventBus最简易使用方式介绍了EventBus最简易的使用方式,摆脱了叽里呱啦+图片的长篇大论.目的是为了让刚开始接触的人们不晕头转向.那么这篇..我也要开始图片+叽里呱啦了. 转载请注明 ...
- php常用函数搜集
搜集了几个php常用函数方法....相信项目中肯定会用到吧... <?php /** * @param $arr * @param $key_name * @return array * 将数据 ...
- Android常用酷炫控件(开源项目)github地址汇总
转载一个很牛逼的控件收集帖... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.Gri ...
- Appium——api常用函数
appium常用函数介绍: 获取页面信息: 1. def get_current_activity(cls, driver): ''' 获取当前页面的activity :param drive ...
- Android 常用炫酷控件(开源项目)git地址汇总
第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.GridView.ImageView.P ...
- 性能测试基础-开门篇3(LR常用函数介绍)
LR常用的函数,协议不一样函数会不一样,这里简单的介绍下HTTP\WEBSERVICE\SOCKET协议常用函数: HTTP: web_set_max_html_param_len("102 ...
随机推荐
- 3. CMake 系列 - 分模块编译&安装项目
目录 1. 项目目录结构 2. 相关代码 2.1 add 模块 2.2 sub 模块 2.3 测试模块 2.4 顶层 CMakeLists.txt 3. 编译 & 安装 4. 项目安装基本语法 ...
- 网络编程 -- RPC实现原理 -- NIO多线程 -- 迭代版本V1
网络编程 -- RPC实现原理 -- 目录 啦啦啦 V1——设置标识变量selectionKey.attach(true);只处理一次(会一直循环遍历selectionKeys,占用CPU资源). ( ...
- mysql 冷热备份
文章转自:http://www.linuxidc.com/Linux/2014-03/98710.htm 冷备份(OFF, 慢, 时间点上恢复)冷备份发生在数据库已经正常关闭的情况下,当正常关闭时会提 ...
- 【!Important】Zookeeper用来做什么的,有几种类型的节点
zookeeper=文件系统+通知机制 一.Zookeeper提供了什么 1.文件系统 Zookeeper维护一个类似文件系统的数据结构 每个子目录项如NameService都被称为znoed,和文件 ...
- Office Web Apps Server
Office Web Apps Server Office Web Apps Server 是一款 Office 服务器产品,可提供针对 Office 文件的基于浏览器的文件查看和编辑服务.Offic ...
- Springmvc的原理和业务处理
要尽量弄懂这个springmvc的工作原理:DispatcherServle,HandlerMapping,HandlerAdapter和ViewResolver等对象协同工作,完成springmvc ...
- day_6.21web框架编写
web框架都是相同,只需把某些东西改写!就可以为自己所用! 直接实现改写,补充东西!然后,就是输入一个路径,然后执行方法!!!! 更改路由,然后调用方法就好!
- 【转】asp.net项目在IE11下出现“__doPostBack”未定义的解决办法
最近我们运营的网站有用户反馈在 IE 11 下<asp:LinkButton> 点击出现 "__doPostBack"未定义",经过一番google,终于知道 ...
- babel-preset-env使用介绍
声明:文章转自https://www.cnblogs.com/ye-hcj/p/7070084.html 本文介绍一个babel转码神器babel-preset-env 简介 现如今不同的浏览器和平台 ...
- 介绍一款jquery ui组件gijgo(含tree树状结构、grid表格),特点:简易、文档全清晰易懂、示例代码
http://gijgo.com gijgo组件 特点:简易.文档全-虽然是英文的但是清晰易懂可读性强.含示例代码(后端直接用原生.Net C# MVC的哦!非常合.Net开发胃口),网站网速快, ...