我正在開發一個應用程序,它向服務器發送一些參數,例如密鑰,請求類型等,並且我在NetworkManager中設置了所有連接代碼的公用參數。有一些常見的參數像生成隨機trid,getMac,getImei。 問題是因爲我的網絡管理器是一類在這裏,我得到一個錯誤:Android網絡服務,包括IMEI,參數中的Mac地址
我在NetworkManger的的AsyncTask下面的代碼:)
inputParams.put("imei", getIMEINumber());//for adding the param
private String getIMEINumber() {
// TODO Auto-generated method stub
TelephonyManager telephonymanager = (TelephonyManager)main
.getSystemService(Context.TELEPHONY_SERVICE);
String uid = telephonymanager.getDeviceId();
// telephonymanager.getSimSerialNumber()
Log.v("vas", "DeviceId: " + uid);
return uid;
}
方法getActivity(未定義的類型。
而當我將NetworkManager轉換爲Fragment時,我得到一個運行時異常。
E/AndroidRuntime(624): Caused by: java.lang.IllegalStateException: System services not available to Activities before onCreate()
任何幫助將不勝感激。
你在哪裏把這個'TelephonyManager telephonymanager =(TelephonyManager)getActivity( ) .getSystemService(Context.TELEPHONY_SERVICE);'在activity或fragment中? –
沒有在我的NetworkManager.class裏,我已經把所有的常見參數 –
男人我說在哪個方法?你能否把你的活動或片段? –