Ⅰ android怎麼獲取手機imei號
您可以通過手機設置的關於本機選項下查看手機IMEI碼。
也可以通過撥號鍵盤輸入*#06#獲得。
Ⅱ android 程序獲取IMEI許可權有什麼用會被盜取手機銀行密碼嗎
IMEI是一個串號,每個手機出廠都有的,android 程序獲取IMEI許可權實際上就是我們常說的獲取ROOT許可權。
獲取ROOT許可權的作用:
1、可以安裝一些需要root許可權的軟體應用,要知道有些軟體是需要這個軟體才能安裝的
2、可以卸載系統自帶的軟體應用,比如一些運營商定製手機的預裝應用,卸載了它們還能節省內存空間呢
3、可以修改系統,對自己手機系統進行一些DIY,讓系統用起來更加順手、舒服
4、此外root還會給人帶來一種自由感,不再受原系統的限制,當然還有一些其他的好處,各位慢慢自己體會吧。
但是獲取root許可權也是有壞處的:
1、很多手機廠商以用戶私自獲取root許可權為由拒絕保修,所以獲取許可權之後可能失去保修
2、對於新手用戶而言,擁有這個許可權之後,也就意味著手機被搞壞的可能性更大了一些,要知道root可是具有系統所有的許可權,不當的操作會損害系統
3、對系統的安全性造成一些破壞,一些手機病毒、木馬可能會趁機而入。
如果台式機用戶或筆記本電腦用戶訪問銀行網站,且網站地址記錄到感染了計算機的銀行木馬的配置文件中,則在用戶瀏覽的Web網頁中會插入第三方文本或賬戶訪問信息輸入格式。不知情的受害者會在瀏覽器載入銀行Web網頁,在網頁上登錄賬戶,這時會看到所謂的銀行新安全措施通知,通知不遵守新措施的用戶將無法訪問「銀行-客戶」系統,並建議移動客戶端更新下載到手機,實際上這種更新就是木馬程序,一旦被用戶下載就會攔截訪問「銀行-客戶」系統的一次性密碼簡訊並將其轉發給不法分子
Ⅲ android 代碼獲取IMEI,IMSI都為空,怎麼解決
Android獲取IMSI和IMEI :
IMSI是一個唯一的數字,標識了GSM和UMTS 網路里的唯一一個用戶.
它存儲 在手機的SIM卡里,它會通過手機發送到網路上。
IMEI也是一串唯一的數字,標識了GSM 和UMTS網路里的三星 Galaxy I9100.。
它通常被列印在手機里電池下面的那一面,撥 *#06# 也能看到它。
代碼:
這里是你在Android里讀出 唯一的 IMSI-ID/IMEI-ID 的方法。
java:
StringmyIMSI=
android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI
);
//withinmyemulatoritreturns:310995000000000
StringmyIMEI=
android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMEI
);
//withinmyemulatoritreturns:000000000000000
手機號碼不是所有的都能獲取。只是有一部分可以拿到。這個是由於移動運營商沒有把手
機號碼的數據寫入到sim卡中。sim卡只有唯一的編號,供網路與設備識別那就是imsi號碼,手機的信號也可以說是通過這個號碼在網路中傳遞的,並不是手機號碼。
試想,你的sim丟失後,補辦一張新的會換號碼嗎? —不會就是因為在你的手機號碼對應的 imsi號在移動運營商中被修改成新sim卡的imsi號碼。
這個就像是一個變數,當移動運營商為它賦值了,它自然就會有值。不賦值自然為空。
/** * 獲得手機的一些標志符* *@paramc *@returnString 手機的類型 */
publicStringfetch_status(Contextc){
TelephonyManagertm=(TelephonyManager)c
.getSystemService(Context.TELEPHONY_SERVICE);//
Stringstr="";
StringIMSI=tm.getSubscriberId();
str+="DeviceId(IMEI)="+tm.getDeviceId()+"/n";
str+="DeviceSoftwareVersion="+tm.getDeviceSoftwareVersion()
+"/n";
str+="Line1Number="+tm.getLine1Number()+"/n";
return str;
}
Ⅳ android系統如何獲取imei號碼,獲取手機型號和系統版本號
/** * **創建日期 2010-4-29 下午05:02:47 * */ package net.sunniwell.app; import android.app.Activity; import android.os.Bundle; import android.telephony.CellLocation; import android.telephony.PhoneStateListener; import android.telephony.TelephonyManager; public class TelManager extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE); /* * 電話狀態: * 1.tm.CALL_STATE_IDLE=0 無活動 * 2.tm.CALL_STATE_RINGING=1 響鈴 * 3.tm.CALL_STATE_OFFHOOK=2 摘機 */ tm.getCallState();//int /* * 電話方位: * */ tm.getCellLocation();//CellLocation /* * 唯一的設備ID: * GSM手機的 IMEI 和 CDMA手機的 MEID. * Return null if device ID is not available. */ tm.getDeviceId();//String /* * 設備的軟體版本號: * 例如:the IMEI/SV(software version) for GSM phones. * Return null if the software version is not available. */ tm.getDeviceSoftwareVersion();//String /* * 手機號: * GSM手機的 MSISDN. * Return null if it is unavailable. */ tm.getLine1Number();//String /* * 附近的電話的信息: * 類型:List * 需要許可權:android.Manifest.permission#ACCESS_COARSE_UPDATES */ tm.getNeighboringCellInfo();//List /* * 獲取ISO標準的國家碼,即國際長途區號。 * 注意:僅當用戶已在網路注冊後有效。 */ tm.getNetworkOperatorName();//String /* * 當前使用的網路類型: * 例如: NETWORK_TYPE_UNKNOWN 網路類型未知 0 NETWORK_TYPE_GPRS GPRS網路 1 NETWORK_TYPE_EDGE EDGE網路 2 NETWORK_TYPE_UMTS UMTS網路 3 NETWORK_TYPE_HSDPA HSDPA網路 8 NETWORK_TYPE_HSUPA HSUPA網路 9 NETWORK_TYPE_HSPA HSPA網路 10 NETWORK_TYPE_CDMA CDMA網路,IS95A 或 IS95B. 4 NETWORK_TYPE_EVDO_0 EVDO網路, revision 0. 5 NETWORK_TYPE_EVDO_A EVDO網路, revision A. 6 NETWORK_TYPE_1xRTT 1xRTT網路 7 */ tm.getNetworkType();//int /* * 手機類型: * 例如: PHONE_TYPE_NONE 無信號 PHONE_TYPE_GSM GSM信號 PHONE_TYPE_CDMA CDMA信號 */ tm.getPhoneType();//int /* * Returns the ISO country code equivalent for the SIM provider's country code. * 獲取ISO國家碼,相當於提供SIM卡的國家碼。 * */ tm.getSimCountryIso();//String /* * Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits. * 獲取SIM卡提供的移動國家碼和移動網路碼.5或6位的十進制數字. * SIM卡的狀態必須是 SIM_STATE_READY(使用getSimState()判斷). */ tm.getSimOperator();//String /* * 服務商名稱: * 例如:中國移動、聯通 * SIM卡的狀態必須是 SIM_STATE_READY(使用getSimState()判斷). */ tm.getSimOperatorName();//String /* * SIM卡的序列號: * 需要許可權:READ_PHONE_STATE */ tm.getSimSerialNumber();//String /* * SIM的狀態信息: * SIM_STATE_UNKNOWN 未知狀態 0 SIM_STATE_ABSENT 沒插卡 1 SIM_STATE_PIN_REQUIRED 鎖定狀態,需要用戶的PIN碼解鎖 2 SIM_STATE_PUK_REQUIRED 鎖定狀態,需要用戶的PUK碼解鎖 3 SIM_STATE_NETWORK_LOCKED 鎖定狀態,需要網路的PIN碼解鎖 4 SIM_STATE_READY 就緒狀態 5 */ tm.getSimState();//int /* * 唯一的用戶ID: * 例如:IMSI(國際移動用戶識別碼) for a GSM phone. * 需要許可權:READ_PHONE_STATE */ tm.getSubscriberId();//String /* * 取得和語音郵件相關的標簽,即為識別符 * 需要許可權:READ_PHONE_STATE */ tm.getVoiceMailAlphaTag();//String /* * 獲取語音郵件號碼: * 需要許可權:READ_PHONE_STATE */ tm.getVoiceMailNumber();//String /* * ICC卡是否存在 */ tm.hasIccCard();//boolean /* * 是否漫遊: * (在GSM用途下) */ tm.isNetworkRoaming();// } }
Ⅳ 怎麼允許游戲獲取IMEI
隨著4G網路的推出,手機聯網速度再一步提升,各式各樣的軟體不經意間也許已經消耗大量數據流量。
今天以Android手機為例,來看看如何禁止手機軟體後台自動聯網?
工具/原料
案例環境:Android、360衛士
方法/步驟
首先,建議獲取手機Root許可權,並安裝360衛士;
參閱:(選中標題,按住左鍵拖拽搜索相應經驗)
OPPO Find 7手機如何獲取Root許可權(Merlin67)
打開360衛士;
點擊「話費流量」;
如圖:
點擊「軟體流量管理」;
如圖:
可見「允許聯網的軟體(數量)」及各軟體後台消耗的數據流量大小;
如圖:
點擊不想後台聯網的軟體後的相應綠色勾圖標,使其變為紅色叉圖標,禁止相應軟體後台自動聯網;
如圖:
點擊相應軟體名稱,
可設置「數據總聯網」、「數據後台聯網」及「WiFi聯網」;
關閉數據總聯網,禁止相應軟體連接數據網路;
關閉數據後台聯網,退出相應軟體後將禁止其後台自動聯網;
關閉WiFi聯網,禁止該軟體連接WiFi;
如圖:
一般禁止後台聯網即可;
Ⅵ android如何通過adb命令獲取手機的IMEI
java獲得android的imei號步驟:
1、許可權添加:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
TelephonyManager telephonyManager = (TelephonyManager) this
.getSystemService(Context.TELEPHONY_SERVICE);
String IMEI = telephonyManager.getDeviceId();
2、adb命令獲得:
adb shell mpsys iphonesubinfo
Ⅶ 如何獲取android設備唯一識別碼
DEVICE_ID
這是Android系統為開發者提供的用於標識手機設備的串號,也是各種方法中普適性較高的,可以說幾乎所有的設備都可以返回這個串號,並且唯一性良好。
這個DEVICE_ID可以同通過下面的方法獲取:
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); String DEVICE_ID = tm.getDeviceId();
它會根據不同的手機設備返回IMEI,MEID或者ESN碼,但在使用的過程中有以下問題:
非手機設備:最開始搭載Android系統都手機設備,而現在也出現了非手機設備:如平板電腦、電子書、電視、音樂播放器等。這些設備沒有通話的硬體功能,系統中也就沒有TELEPHONY_SERVICE,自然也就無法通過上面的方法獲得DEVICE_ID。
許可權問題:獲取DEVICE_ID需要READ_PHONE_STATE許可權,如果只是為了獲取DEVICE_ID而沒有用到其他的通話功能,申請這個許可權一來大才小用,二來部分用戶會懷疑軟體的安全性。
廠商定製系統中的Bug:少數手機設備上,由於該實現有漏洞,會返回垃圾,如:zeros或者asterisks
MAC ADDRESS
可以使用手機Wifi或藍牙的MAC地址作為設備標識,但是並不推薦這么做,原因有以下兩點:
硬體限制:並不是所有的設備都有Wifi和藍牙硬體,硬體不存在自然也就得不到這一信息。
獲取的限制:如果Wifi沒有打開過,是無法獲取其Mac地址的;而藍牙是只有在打開的時候才能獲取到其Mac地址。
獲取Wifi Mac地址:
獲取藍牙 Mac地址:
Sim Serial Number
裝有SIM卡的設備,可以通過下面的方法獲取到Sim Serial Number:
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); String SimSerialNumber = tm.getSimSerialNumber();
注意:對於CDMA設備,返回的是一個空值!
ANDROID_ID
在設備首次啟動時,系統會隨機生成一個64位的數字,並把這個數字以16進制字元串的形式保存下來,這個16進制的字元串就是ANDROID_ID,當設備被wipe後該值會被重置。可以通過下面的方法獲取:
import android.provider.Settings; String ANDROID_ID = Settings.System.getString(getContentResolver(), Settings.System.ANDROID_ID);
ANDROID_ID可以作為設備標識,但需要注意:
廠商定製系統的Bug:不同的設備可能會產生相同的ANDROID_ID:9774d56d682e549c。
廠商定製系統的Bug:有些設備返回的值為null。
設備差異:對於CDMA設備,ANDROID_ID和TelephonyManager.getDeviceId() 返回相同的值。
Serial Number
Android系統2.3版本以上可以通過下面的方法得到Serial Number,且非手機設備也可以通過該介面獲取。
String SerialNumber = android.os.Build.SERIAL;
Ⅷ android開發如何獲取手機imei號
TelephonyManager mTm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
String imei = mTm.getDeviceId();
許可權:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
參考:
http://blog.csdn.net/hytfly/article/details/8552483
Ⅸ 如何獲取Android唯一標識
1.The IMEI: 僅僅只對android手機有效:
通過以上演算法,可產生32位的16進制數據:
現在就可以對其進行你的應用了。