2011-12-25 12 views
6

यह संभव बूट स्टार्टअप पर सिम नंबर एंड्रॉयड में TelephonyManager का उपयोग कर पता लगाने के लिए, bootup पर इस सेवा का उपयोगएंड्रॉयड सिम परिवर्तन

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

उत्तर

10

आप बूट पूरा होने कार्रवाई यानी एंड्रॉयड के लिए एक प्रसारण रिसीवर रजिस्टर करने की आवश्यकता है ...। नीचे दिए गए कोड लाइनों

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

इसके अलावा permi की आवश्यकता के साथ इस रिसीवर आप अपनी सेवा शुरू कर सकते हैं की onReceive में

intent.action.BOOT_COMPLETED मिल सिम नंबर मैनिफेस्ट फ़ाइल में READ_PHONE_STATE के रूप में फ़ोन नंबर पढ़ने के लिए ssion।

आप के रूप में प्रसारण रिसीवर से सेवा शुरू कर सकते हैं -

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 शुरू करने में सक्षम नहीं im .. .. आप प्रसारण रिसीवर से सेवा शुरू कर सकते हैं – subrussn90

+2

जैसे- सार्वजनिक वर्ग BootListener BroadcastReceiver { \t @Override \t सार्वजनिक शून्य onReceive (संदर्भ संदर्भ, आशय ARG1) फैली { \t \t इरादा इरादा = नया इरादा (संदर्भ, MyService.class); \t \t context.startService (मंशा); \t} } – Sushil

+0

एक कदम मैंने अग्रेषित किया ... जैसा कि कहा गया था, मैं स्टार्टअप पर सेरीज़ शुरू करने में सक्षम था ... लेकिन जब मुझे सिमसरियल नंबर मिलता है, तो प्रोग्राम क्रैश हो जाता है ... इस समस्या के लिए कोई विचार? – subrussn90

संबंधित मुद्दे