zoukankan      html  css  js  c++  java
  • 进阶篇-安卓系统:1.获取安卓设备的唯一标识

    无论是pc端的软件还是安卓端的软件,有时候在出售时如果没有被买断或者购买版权,那么就需要一套一套的卖,并且要保证禁止软件的拷贝。

    在pc端的软件可以在代码中加上检测硬盘序列号。这样的话拷贝到另一台电脑上就不可以用了,因为硬盘序列号识别错误。那么在安卓端没有硬盘就需要获取一些其它硬件的参数来唯一标识设备。

    1.获取IMEI标识码:IMEI(International Mobile Equipment Identity)是国际移动设备标识的缩写。

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

    需要注意的是,使用该方法是需要加入使用权限:

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

    2.获取其它设备参数

    直接上代码:

    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()+"
    "
                                                             + "BRAND:"+Build.BRAND.toUpperCase()+"
    "
                                                             + "CPU_ABI:"+Build.CPU_ABI.toUpperCase() +"
    "
                                                             + "DEVICE:"+Build.DEVICE.toUpperCase() +"
    "
                                                             + "DISPLAY:"+Build.DISPLAY.toUpperCase() +"
    "
                                                             + "HOST:"+ Build.HOST.toUpperCase() +"
    "
                                                             + "ID:"+Build.ID.toUpperCase() +"
    "
                                                             + "MANUFACTURER:"+Build.MANUFACTURER.toUpperCase()+"
    "
                                                             + "MODEL:"+Build.MODEL.toUpperCase() +"
    "
                                                             + "PRODUCT:"+Build.PRODUCT.toUpperCase() +"
    "
                                                             + "TAGS:"+Build.TAGS.toUpperCase()  +"
    "
                                                             + "TYPE:"+Build.TYPE.toUpperCase() +"
    "
                                                             + "USER:"+Build.USER.toUpperCase() +"
    "; //13 digits
                    tv.setText(m_szDevIDShort);
                }
            });
    
        }

    有了这些唯一标识,就能使软件变得独一无二……并且不可复制。

  • 相关阅读:
    vue实践推荐
    angularjs实现checkbox的点击-全选功能-选中数据
    是你需要的前端编码风格吗?
    webpack--前端性能优化与Gzip原理
    基于verdaccio的npm私有仓库搭建
    使用uni-app开发微信小程序
    《JavaScript设计模式与开发实践》-- 迭代器模式
    《JavaScript设计模式与开发实践》-- 发布-订阅模式
    《JavaScript设计模式与开发实践》-- 策略模式
    《JavaScript设计模式与开发实践》-- 代理模式
  • 原文地址:https://www.cnblogs.com/androidNot/p/5660510.html
Copyright © 2011-2022 走看看