2011-12-25 41 views
6

是否可以檢測機器人使用TelephonyManager SIM卡號碼在開機啓動時,在啓動時使用Service ...Android的SIM變化

TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
String ss=tm.getSimSerialNumber(); 

回答

10

您需要註冊爲啓動完成動作即Android的廣播接收器。下面的代碼行

TelephonyManager telephoneMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
    String phoneNumber = telephoneMgr.getLine1Number(); 

還需要有permi intent.action.BOOT_COMPLETED

在這個接收器就可以開始你的服務的onReceive獲得SIM卡號碼用於在清單文件中將電話號碼讀取爲READ_PHONE_STATE。

你可以從廣播接收器開始服務爲 -

public class BootListener extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent arg1) { 
    Intent intent = new Intent(context,Myservice.class); 
    context.startService(intent); 
} 

}

+0

是的,我試過了...但林不能夠啓動的答覆frnds我的服務... .. THANX .. – subrussn90 2011-12-25 16:32:02

+2

你可以從廣播接收器AS-公共類BootListener擴展廣播接收器{ \t @覆蓋 \t公共無效的onReceive(上下文語境,意圖Arg1)將啓動服務{ \t意圖intent = new Intent(context,Myservice.class); \t \t context.startService(intent); \t} } – Sushil 2011-12-25 17:13:48

+0

一步我轉發...說,我能夠在啓動時啓動serice ...但是當我得到的simserial號碼,程序崩潰...這個問題的任何想法? – subrussn90 2011-12-25 17:19:43