当前位置:   article > 正文

Android中获取手机的IMEI_getimei oncompletelistener

getimei oncompletelistener

IMEI的概念

  • IMEI(International Mobile Equipment Identity):

是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号",它与每台手机一一对应,而且该码是全世界唯一的。每一只手机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。

手机IMEI码结构说明

手机IMEI码由15-17位数字组成。

第一部分 TAC,Type Allocation Code,类型分配码,由8位数字组成(早期是6位),是区分手机品牌和型号的编码,该代码由GSMA及其授权机构分配。其中TAC码前两位又是分配机构标识(Reporting Body Identifier),是授权IMEI码分配机构的代码,如01为美国CTIA,35为英国BABT,86为中国TAF。

第二部分 FAC,Final Assembly Code,最终装配地代码,由2位数字构成,仅在早期TAC码为6位的手机中存在,所以TAC和FAC码合计一共8位数字。FAC码用于生产商内部区分生产地代码。

第三部分 SNR,Serial Number,序列号,由第9位开始的6位数字组成,区分每部手机的生产序列号。

第四部分 CD,Check Digit,验证码,由前14位数字通过Luhn算法计算得出。

第五部分 SVN,Software Version Number,软件版本号,区分同型号手机出厂时使用的不同软件版本,仅在部分品牌的部分机型中存在。

一般来说,由IMEI码中的TAC部分就可以得出手机的型号,但也有个别品牌不同型号的手机共用一个TAC码。同时,由于一个TAC最多只能对应6位数字序列号,即100万台手机,所以诺基亚N95、苹果iPhone等热门机型有多个TAC号段。

 

代码:

代码主要有两部分,一是Java代码,另一个则是Manifest.xml中的权限。

 

界面的布局只有一个按钮部分,在这里不详细给出。

 

  1. package com.example.getimei;
  2. import android.app.Activity;
  3. import android.content.Context;
  4. import android.os.Bundle;
  5. import android.telephony.TelephonyManager;
  6. import android.view.Menu;
  7. import android.view.View;
  8. import android.view.View.OnClickListener;
  9. import android.widget.Button;
  10. import android.widget.Toast;
  11. public class MainActivity extends Activity {
  12. private Button getIMEI = null;
  13. @Override
  14. protected void onCreate(Bundle savedInstanceState) {
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.activity_main);
  17. getIMEI = (Button)findViewById(R.id.getIMEI);
  18. getIMEI.setOnClickListener(new MyButtonListener());
  19. }
  20. private class MyButtonListener implements OnClickListener{
  21. @Override
  22. public void onClick(View v) {
  23. // TODO Auto-generated method stub
  24. TelephonyManager telephonyManager = (TelephonyManager)MainActivity.this.getSystemService
  25. (Context.TELEPHONY_SERVICE);
  26. String IMEI = telephonyManager.getDeviceId();
  27. Toast.makeText(MainActivity.this, "您手机的IMEI号码" + IMEI,
  28. Toast.LENGTH_LONG).show();
  29. }
  30. }
  31. @Override
  32. public boolean onCreateOptionsMenu(Menu menu) {
  33. // Inflate the menu; this adds items to the action bar if it is present.
  34. getMenuInflater().inflate(R.menu.activity_main, menu);
  35. return true;
  36. }
  37. }


 

AndroidManifest.xml部分

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


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/591929
推荐阅读
相关标签
  

闽ICP备14008679号