4

一意の ID を提供するために、定期的なシリアル番号のトピックに取り組んでいます。

私はこれを試します:

       String serial = null; 

        try {
            Class<?> c = Class.forName("android.os.SystemProperties");
            Method get = c.getMethod("get", String.class);
            serial = (String) get.invoke(c, "ro.serialno");
        } catch (Exception ignored) {
        }

        StringBuilder sb = new StringBuilder();
        sb.append("SERIAL ").append(android.os.Build.SERIAL).append("\n");


        textReportAdmin.setText(
                sb.toString());

どちらも同じ値を与えます:C4F12FDD949F22F

ボックスと私のタブのステッカーのシリアル番号は次のとおりです。RF2C202WYME

タブで作業していますが、使用する方法がありません

    TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
    String imei = telephonyManager.getDeviceId();

私の場合、IMEIは空です。

シリアルが必要ですが、タブの後ろのバーコードのステッカーに表示されているクリア バージョンが必要です。

システムアプリに入って、デバイスの状態を見ると、クリアに表示されているので...

android.os.Build.SERIAL によって返された値を人間に見えるものに変換する方法は?

エディション:私も見ました:

        sb.append("PRODUCT ").append(android.os.Build.PRODUCT).append("\n");
        sb.append("BOARD ").append(android.os.Build.BOARD).append("\n");
        sb.append("BOOTLOADER ").append(android.os.Build.BOOTLOADER).append("\n");
        sb.append("BRAND ").append(android.os.Build.BRAND).append("\n");
        sb.append("CPU_ABI ").append(android.os.Build.CPU_ABI).append("\n");
        sb.append("CPU_ABI2 ").append(android.os.Build.CPU_ABI2).append("\n");
        sb.append("DEVICE ").append(android.os.Build.DEVICE).append("\n");
        sb.append("DISPLAY ").append(android.os.Build.DISPLAY).append("\n");
        sb.append("FINGERPRINT ").append(android.os.Build.FINGERPRINT).append("\n");
        sb.append("HARDWARE ").append(android.os.Build.HARDWARE).append("\n");
        sb.append("HOST ").append(android.os.Build.HOST).append("\n");
        sb.append("ID ").append(android.os.Build.ID).append("\n");
        sb.append("MANUFACTURER ").append(android.os.Build.MANUFACTURER).append("\n");
        sb.append("MODEL ").append(android.os.Build.MODEL).append("\n");
        sb.append("PRODUCT ").append(android.os.Build.PRODUCT).append("\n");
        sb.append("RADIO ").append(android.os.Build.RADIO).append("\n");
        sb.append("SERIAL ").append(android.os.Build.SERIAL).append("\n");
        sb.append("TAGS ").append(android.os.Build.TAGS).append("\n");
        sb.append("TIME ").append(android.os.Build.TIME).append("\n");
        sb.append("TYPE ").append(android.os.Build.TYPE).append("\n");
        sb.append("USER ").append(android.os.Build.USER).append("\n");

どこにも、ステッカーに記載されているようにシリアル番号を取得することはできませんが、システム自体が「パラメーター」、「概要」、「状態」に表示することができます (単語がわかりません)英語、フランス語のタブがあり、ステッカーにあるように、「Paramètres」、「A propos de」、「Etat」、「Serial Number」、クリア バージョンです。

4

4 に答える 4

7

これを試しましたか?

String serial = null; 

try {
     Class<?> c = Class.forName("android.os.SystemProperties");
     Method get = c.getMethod("get", String.class);
     serial = (String) get.invoke(c, "ril.serialnumber");
 } catch (Exception ignored) {
 }
于 2013-03-05T23:07:23.090 に答える
6

デバイスの背面に表示されているシリアル番号を取得したい場合、および Samsung Galaxy Tab を使用している場合は、「ril.serialnumber」プロパティを使用しないでください。

デバイスの表示内容が次のように変更されました。

$ adb shell getprop | grep serial
[ril.serialnumber]: [RF2C202WYME]
[ro.boot.serialno]: [c4f12fdd949f22f]
[ro.serialno]: [c4f12fdd949f22f]

プレジェリービーン「ro.boot.serialno」は存在しませんでした

于 2013-01-08T08:59:08.977 に答える
1

多くのデバイスでは、[設定]-> [アクティビティについて]に表示される情報がありますが、これは非標準であり、標準のAndroidAPIからは利用できません。たとえば、FCC IDはそこに表示されることがありますが、アプリでは使用できません。

また、APIを介して利用できるシリアル番号が製品の「実際の」シリアル番号(つまり、パッケージにあるもの)である必要はありません。ただそれがユニークだということ。

だから、私はあなたが望むことをする方法はないと思います(箱にあり、アクティビティについてのシリアル番号を読んでください)、それからその製品のソースコード(利用可能な場合)を調べて、得る方法があるかどうかを確認してくださいその特定の製品またはメーカーの情報。

于 2012-12-15T22:15:08.920 に答える