2011-12-25 27 views
6

Có thể phát hiện số SIM sử dụng TelephonyManager trong android lúc khởi động khởi động, sử dụng dịch vụ khi khởi động ...Android SIM thay đổi

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

Trả lời

10

Bạn cần phải đăng ký một máy thu phát sóng cho việc hoàn thành khởi động hành động tức là android. intent.action.BOOT_COMPLETED

trong onReceive của máy thu này, bạn có thể bắt đầu dịch vụ của bạn có được số SIM với dòng mã bên dưới

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

Cũng cần phải có permi ssion để đọc số điện thoại dưới dạng READ_PHONE_STATE trong tệp kê khai.

bạn có thể bắt đầu dịch vụ từ máy thu phát sóng như -

public class BootListener extends BroadcastReceiver { 

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

}

+0

Vâng, tôi đã cố gắng mà ... nhưng im không thể bắt đầu dịch vụ ... Thanx cho frnds trả lời .. .. – subrussn90

+2

bạn có thể bắt đầu dịch vụ từ máy thu phát sóng như- public class BootListener kéo dài BroadcastReceiver { \t @ Override \t public void onReceive (Context bối cảnh, Ý định arg1) { \t \t Intent intent = new Intent (ngữ cảnh, Myservice.class); \t \t context.startService (intent); \t} } – Sushil

+0

Một bước tôi chuyển tiếp ... như đã nói, tôi đã có thể bắt đầu serice lúc khởi động ... nhưng khi tôi nhận được số simserial, chương trình bị treo ... Bất kỳ ý tưởng cho vấn đề này? – subrussn90

Các vấn đề liên quan