進階篇-安卓系統:1.獲取安卓設備的惟一標識

不管是pc端的軟件仍是安卓端的軟件,有時候在出售時若是沒有被買斷或者購買版權,那麼就須要一套一套的賣,而且要保證禁止軟件的拷貝。android

在pc端的軟件能夠在代碼中加上檢測硬盤序列號。這樣的話拷貝到另外一臺電腦上就不能夠用了,由於硬盤序列號識別錯誤。那麼在安卓端沒有硬盤就須要獲取一些其它硬件的參數來惟一標識設備。git

1.獲取IMEI標識碼:IMEI(International Mobile Equipment Identity)是國際移動設備標識的縮寫。ide

TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
String szImei = TelephonyMgr.getDeviceId(); // Requires use-permision: READ_PHONE_STATE

須要注意的是,使用該方法是須要加入使用權限:ui

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

2.獲取其它設備參數spa

直接上代碼:code

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final TextView tv = (TextView) findViewById(textView);
        findViewById(R.id.btn_getId).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String m_szDevIDShort = "BOARD:"+Build.BOARD.toUpperCase()+"\n"
                                                         + "BRAND:"+Build.BRAND.toUpperCase()+"\n"
                                                         + "CPU_ABI:"+Build.CPU_ABI.toUpperCase() +"\n"
                                                         + "DEVICE:"+Build.DEVICE.toUpperCase() +"\n"
                                                         + "DISPLAY:"+Build.DISPLAY.toUpperCase() +"\n"
                                                         + "HOST:"+ Build.HOST.toUpperCase() +"\n"
                                                         + "ID:"+Build.ID.toUpperCase() +"\n"
                                                         + "MANUFACTURER:"+Build.MANUFACTURER.toUpperCase()+"\n"
                                                         + "MODEL:"+Build.MODEL.toUpperCase() +"\n"
                                                         + "PRODUCT:"+Build.PRODUCT.toUpperCase() +"\n"
                                                         + "TAGS:"+Build.TAGS.toUpperCase()  +"\n"
                                                         + "TYPE:"+Build.TYPE.toUpperCase() +"\n"
                                                         + "USER:"+Build.USER.toUpperCase() +"\n"; //13 digits
                tv.setText(m_szDevIDShort);
            }
        });

    }

有了這些惟一標識,就能使軟件變得獨一無二……而且不可複製。blog

相關文章
相關標籤/搜索