调用Android硬件服务相关的方法
2013-12-12 21:12
225 查看
调用Android硬件服务相关的方法
我们在做安卓开发的时候 会常常用到系统自带一些服务 现在进行了一个总结
/**
* 默认的IMSI号
*/
private static final String IMSI_DEFAULT = "460000000000000";
private static final String IMEI_DEFAULT = "000000000000000";
/**
* 提供短信发送功能. 短信将自动判断内容长度,切分短信发送.
*
* @param telNum 目标短信接收者号码
* @param message 短信内容.
*/
public static void sendSms(String telNum, String message) {
if (message != null) {
// 移动运营商允许每次发送的字节数据有限,我们可以使用Android给我们提供 的短信工具。
SmsManager smsMgr = SmsManager.getDefault();
// 如果短信没有超过限制长度,则返回一个长度的List。
List<String> texts = smsMgr.divideMessage(message);
for (String text : texts) {
smsMgr.sendTextMessage(telNum, null, text, null, null);
Log.d("SMSSender", "send a message");
}
}else{
throw new IllegalArgumentException();
}
}
/**
* 检测网络连接是否是cmwap
* 如果是的话需要设置代理
* @param context
* @return
*/
public static boolean isWap(Context context){
//ConnectivityManager主要管理和网络连接相关的操作
ConnectivityManager cm =(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo nInfo = cm.getActiveNetworkInfo();
if(nInfo == null || nInfo.getType() != ConnectivityManager.TYPE_MOBILE)
return false;
String extraInfo = nInfo.getExtraInfo();
if(extraInfo == null || extraInfo.length() < 3)
return false;
if(extraInfo.toLowerCase().contains("wap"))
return true;
return false;
}
/**
* 获取Imsi号
* @param context
* @return
*/
public static String getIMSI(Context context) {
TelephonyManager telephonyManager = (TelephonyManager)
context.getSystemService(Context.TELEPHONY_SERVICE);
String imsi = telephonyManager.getSubscriberId();
if(imsi == null || imsi.equals("")){
imsi = IMSI_DEFAULT;
}
return imsi;
}
/**
* 获取Imei号
* @param context
* @return
*/
public static String getIMEI(Context context) {
TelephonyManager telephonyManager=(TelephonyManager)
context.getSystemService(Context.TELEPHONY_SERVICE);
String imei=telephonyManager.getDeviceId();
if(imei == null || imei.equals("")){
imei = IMEI_DEFAULT;
}
return imei;
}
/**
* 获取手机机型
* @return
*/
public static String getModel(){
return Build.MODEL;
}
/**
* 判断当前手机是否开启了GPS
* 对应GPS_PROVIDER
* @return
*/
public static boolean isGPSEnabled(Context context){
LocationManager mLocationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
if(mLocationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)){
return true;
}
return false;
}
/**
* 判断手机当前的网络状况
* 1.是否开启WIFI
* 2.是否开启蜂窝数据
* 对应NETWORK_PROVIDER
* @return
*/
public static boolean isNetworkEnabled(Context context){
return (isTelephonyEnabled(context) || isWIFIEnabled(context));
}
/**
* 判断移动网络是否开启
* @return
*/
private static boolean isTelephonyEnabled(Context context) {
boolean enable = false;
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
if (telephonyManager != null) {
if (telephonyManager.getNetworkType() != TelephonyManager.NETWORK_TYPE_UNKNOWN) {
enable = true;
}
}
return enable;
}
/**
* 判断wifi是否开启
*/
private static boolean isWIFIEnabled(Context context) {
boolean enable = false;
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
if(wifiManager.isWifiEnabled()) {
enable = true;
}
return enable;
}
相关文章推荐
- 在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口
- Android Service 调用服务中的方法
- Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口
- 在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口
- 在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口
- 在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口【转】
- Android通过广播接收者调用服务内方法
- [android] 绑定方式开启服务&调用服务的方法
- (三)为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口
- Android服务的方法回传调用
- android90 bind方式启动服务service调用service里的方法
- android之绑定服务调用服务的方法
- Android(java)学习笔记228:服务(service)之绑定服务调用服务里面的方法
- 在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口 (学习老罗的)
- 在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口(老罗学习笔记4)
- Android启动服务和绑定服务的方法调用
- android基础笔记:服务(Service) 采用接口的方式调用本地服务的方法
- android调用C# 服务返回对象使用方法说明
- Android 服务(service)的生命周期以及利用bindservice调用服务里面的方法