編輯:關於Android編程
調用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
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;
}
這個實例可以幫助我們學習旋轉動畫和計時器這兩個知識點,廢話不多說,上主程序: package com.bear.lotterywheel; import java.u
可能開發安卓的人大多數都用過很多下拉刷新的開源組件,但是今天用了官方v4支持包的SwipeRefreshLayout覺得效果也蠻不錯的,特拿出來分享。簡介:SwipeRe
在Android開發中,我們經常會需要在Android界面上彈出一些對話框,比如詢問用戶或者讓用戶選擇。這些功能我們叫它Android Dialog對話框,AlertDi
第一次安裝Java JDK ,要大於1.7版本,不安裝的話就會出現如下提示:這時點擊上面的JDK鏈接,跳轉到甲骨文的JDK下載頁面,根據操作系統,選擇下載版本,如下:下載