- WINDOW_SERVICE WindowManager 管理打开的窗口程序
- LAYOUT_INFLATER_SERVICE LayoutInflater 取得xml里定义的view
- ACTIVITY_SERVICE ActivityManager 管理应用程序的系统状态
- POWER_SERVICE PowerManger 电源的服务
- ALARM_SERVICE AlarmManager 闹钟的服务
- NOTIFICATION_SERVICE NotificationManager 状态栏的服务
- KEYGUARD_SERVICE KeyguardManager 键盘锁的服务
- LOCATION_SERVICE LocationManager 位置的服务,如GPS
- SEARCH_SERVICE SearchManager 搜索的服务
- VEBRATOR_SERVICE Vebrator 手机震动的服务
- CONNECTIVITY_SERVICE Connectivity 网络连接的服务
- WIFI_SERVICE WifiManager Wi-Fi服务
- TELEPHONY_SERVICE TeleponyManager 电话服务
- WINDOW_SERVICE ("window") The top-level window manager in which you can place custom windows. The returned object is a WindowManager.
- LAYOUT_INFLATER_SERVICE ("layout_inflater") A LayoutInflater for inflating layout resources in this context.
- ACTIVITY_SERVICE ("activity") A ActivityManager for interacting with the global activity state of the system.
- POWER_SERVICE ("power") A PowerManager for controlling power management.
- ALARM_SERVICE ("alarm") A AlarmManager for receiving intents at the time of your choosing.
- NOTIFICATION_SERVICE ("notification") A NotificationManager for informing the user of background events.
- KEYGUARD_SERVICE ("keyguard") A KeyguardManager for controlling keyguard.
- LOCATION_SERVICE ("location") A LocationManager for controlling location (e.g., GPS) updates.
- SEARCH_SERVICE ("search") A SearchManager for handling search.
- VIBRATOR_SERVICE ("vibrator") A Vibrator for interacting with the vibrator hardware.
- CONNECTIVITY_SERVICE ("connection") A ConnectivityManager for handling management of network connections.
- WIFI_SERVICE ("wifi") A WifiManager for management of Wi-Fi connectivity.
- INPUT_METHOD_SERVICE ("input_method") An InputMethodManager for management of input methods.
- UI_MODE_SERVICE ("uimode") An UiModeManager for controlling UI modes.
- DOWNLOAD_SERVICE ("download") A DownloadManager for requesting HTTP downloads
在android 获取手机信息的时候用到这样一段代码:
public class BasicInfo {
public String getPhoneNumber()
{
// 获取手机号 MSISDN,很可能为空
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
StringBuffer inf = new StringBuffer();
switch(tm.getSimState()){ //getSimState()取得sim的状态 有下面6中状态
case TelephonyManager.SIM_STATE_ABSENT :inf.append("无卡");return inf.toString();
case TelephonyManager.SIM_STATE_UNKNOWN :inf.append("未知状态");return inf.toString();
case TelephonyManager.SIM_STATE_NETWORK_LOCKED :inf.append("需要NetworkPIN解锁");return inf.toString();
case TelephonyManager.SIM_STATE_PIN_REQUIRED :inf.append("需要PIN解锁");return inf.toString();
case TelephonyManager.SIM_STATE_PUK_REQUIRED :inf.append("需要PUK解锁");return inf.toString();
case TelephonyManager.SIM_STATE_READY :break;
}
String phoneNumber = tm.getLine1Number();
return phoneNumber;
}
在另外一个activity类里面调用的时候 总是出现进程关闭 无法获取手机信息。后来发现
|
于是:
1. 给BasicInfo 添加一个带参数Context的构造函数:
public BasicInfo (Context context)
{
this.context = context;
}
2. getPhoneNumber()函数里面改成:
context.getSystemService(Context.TELEPHONY_SERVIC);
3. 在调用类里面 BasicInfo bi = new BasicInfo(this);
bi.getPhoneNumber();