Android 휴대폰 및 APP 정보 얻기 실례 상세 설명

서리바람이 점점 차가워지고 추위가 이불을 덮치자 기러기 울음소리가 울려 퍼지며 슬프게 울부짖었다.《어가행》의 이 시는 이 계절을 형용하는 북경을 형용하는데 정말 더할 나위 없이 적합하다. 서리바람이 솔솔 불고 달리기를 할 때도 외투를 벗는 것이 점점 아까워지고 끈기를 시험할 때가 왔다!
본론으로 돌아가면 안드로이드 휴대전화 앱을 개발할 때 시스템 버전 번호, 화면 해상도와 MAC 등 휴대전화와 관련된 정보를 자주 얻어야 한다.오늘 우리는 어떻게 휴대전화에 관한 정보를 얻는지 이야기합시다.
우선 우리는 하나의 종류를 새로 만들 수 있다. 상하 문장의 구성원 변수가 있어야 한다. 다른 것은 잔소리하지 않고 코드에 직접 올라가야 한다!
화면 해상도를 가져오려면:
//     
        String resolution = "";
        DisplayMetrics dm = mContext.getResources().getDisplayMetrics();
        int screenWidth = dm.widthPixels;
        int screenHeight = dm.heightPixels;
        resolution = screenWidth + "*" + screenHeight;

운영자 확보:
//     
        String providersName = "";
        TelephonyManager telephonyManager = (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
        String IMSI = telephonyManager.getSubscriberId();
        if (IMSI != null) {
            if (IMSI.startsWith("46000") || IMSI.startsWith("46002") || IMSI.startsWith("46007")) {
                providersName = "    ";
            } else if (IMSI.startsWith("46001") || IMSI.startsWith("46006")) {
                providersName = "    ";
            } else if (IMSI.startsWith("46003")) {
                providersName = "    ";
            } else {
                providersName = "  ";
            }
        } else {
            providersName = "         ";
        }

네트워킹 방법을 보려면 다음과 같이 하십시오.
/      
        String access = "";
        ConnectivityManager connectionManager = (ConnectivityManager) mContext.getSystemService(CONNECTIVITY_SERVICE);
        NetworkInfo netWorkInfo = connectionManager.getActiveNetworkInfo();
        access = netWorkInfo.getTypeName();

운영 체제 버전을 가져오려면:
/        
        String osVersion = "";
        osVersion = android.os.Build.VERSION.RELEASE;

APP 버전 가져오기:
//  APP  
        try {
            PackageManager pm = mContext.getPackageManager();
            PackageInfo pi = pm.getPackageInfo(mContext.getPackageName(), PackageManager.GET_ACTIVITIES);
            if (pi != null) {
                errorPram.setAppVersion(pi.versionName == null ? "" : pi.versionName);
            }
        } catch (NameNotFoundException e) {

        }

장치 ID를 가져오려면:
//    ID
        String deviceId = "";
        deviceId = telephonyManager.getDeviceId();

MAC 가져오기:
//  MAC
        String macAddress = "";
        WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
        WifiInfo info = (null == wifiManager ? null : wifiManager.getConnectionInfo());
        if (null != info) {
            macAddress = info.getMacAddress();
        }

휴대폰 모델 확인:
//      
        String model = "";
        model = android.os.Build.MODEL;

IMEI 가져오기
//  IMEI
        String imei = "";
        TelephonyManager tm = (TelephonyManager) mContext.getSystemService(Activity.TELEPHONY_SERVICE);
        if (tm != null) {
            imei = tm.getDeviceId();
        }

버그 보고서를 가져오려면 다음과 같이 하십시오.
//      
        String report = "";
        Writer writer = new StringWriter();
        PrintWriter printWriter = new PrintWriter(writer);
        ex.printStackTrace(printWriter);
        Throwable cause = ex.getCause();
        while (cause != null) {
            cause.printStackTrace(printWriter);
            cause = cause.getCause();
        }
        printWriter.close();
        report = writer.toString();

주의해야 할 것은 오류 보고서를 얻으려면 이 종류가Thread를 계승해야 한다는 것이다.UncaughtExceptionHandler 인터페이스는 코드의 네 번째 줄에 있는 ex를 가져옵니다.
휴대폰을 이용한 테스트를 통해 다음과 같은 정보를 얻을 수 있다.
10-27 16:50:31.404 31481-31481/com.radi.rescue E/66666:    :1080*1792
10-27 16:50:31.408 31481-31481/com.radi.rescue E/66666:    :    
10-27 16:50:31.410 31481-31481/com.radi.rescue E/66666:     :WIFI
10-27 16:50:31.410 31481-31481/com.radi.rescue E/66666:       :8.0.0
10-27 16:50:31.421 31481-31481/com.radi.rescue E/66666: app  :2.6.5
10-27 16:50:31.421 31481-31481/com.radi.rescue E/66666:   ID:863127037355473
10-27 16:50:31.437 31481-31481/com.radi.rescue E/66666: MAC:b0:89:00:d7:36:e8
10-27 16:50:31.437 31481-31481/com.radi.rescue E/66666:     :FRD-AL10
10-27 16:50:31.438 31481-31481/com.radi.rescue E/66666: IMEI:863127037355473
10-27 16:50:31.445 31481-31481/com.radi.rescue E/66666:     :java.lang.RuntimeException: Unable to start activity ComponentInfozuodakuohaocom.radi.rescue/com.radi.rescue.info.AddSiteActivityyoudakuohao: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.setText(java.lang.CharSequence)' on a null object reference
                                                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3194)
                                                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3302)
                                                            at android.app.ActivityThread.-wrap12(Unknown Source:0)
                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1891)
                                                            at android.os.Handler.dispatchMessage(Handler.java:108)
                                                            at android.os.Looper.loop(Looper.java:166)
                                                            at android.app.ActivityThread.main(ActivityThread.java:7425)
                                                            at java.lang.reflect.Method.invoke(Native Method)
                                                            at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
                                                         Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.setText(java.lang.CharSequence)' on a null object reference
                                                            at com.radi.rescue.info.AddSiteActivity.onCreate(AddSiteActivity.java:87)
                                                            at android.app.Activity.performCreate(Activity.java:7372)
                                                            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1218)
                                                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3147)
                                                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3302) 
                                                            at android.app.ActivityThread.-wrap12(Unknown Source:0) 
                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1891) 
                                                            at android.os.Handler.dispatchMessage(Handler.java:108) 
                                                            at android.os.Looper.loop(Looper.java:166) 
                                                            at android.app.ActivityThread.main(ActivityThread.java:7425) 
                                                            at java.lang.reflect.Method.invoke(Native Method) 
                                                            at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) 
                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) 
                                                        java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.EditText.setText(java.lang.CharSequence)' on a null object reference
                                                            at com.radi.rescue.info.AddSiteActivity.onCreate(AddSiteActivity.java:87)
                                                            at android.app.Activity.performCreate(Activity.java:7372)
                                                            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1218)
                                                            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3147)
                                                            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3302)
                                                            at android.app.ActivityThread.-wrap12(Unknown Source:0)
                                                            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1891)
                                                            at android.os.Handler.dispatchMessage(Handler.java:108)
                                                            at android.os.Looper.loop(Looper.java:166)
                                                            at android.app.ActivityThread.main(ActivityThread.java:7425)
                                                            at java.lang.reflect.Method.invoke(Native Method)
                                                            at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
                                                            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)

이 글은 이렇게 많이 공유했으니 여러분의 보충과 평론을 환영합니다.

좋은 웹페이지 즐겨찾기