获取android 手机mac与device_id

public static String getDeviceInfo(Context context) {
    try{
      org.json.JSONObject json = new org.json.JSONObject();
      android.telephony.TelephonyManager tm = (android.telephony.TelephonyManager) context
          .getSystemService(Context.TELEPHONY_SERVICE);

      String device_id = tm.getDeviceId();

      android.net.wifi.WifiManager wifi = (android.net.wifi.WifiManager) context.getSystemService(Context.WIFI_SERVICE);

      String mac = wifi.getConnectionInfo().getMacAddress();
      json.put("mac", mac);

      if( TextUtils.isEmpty(device_id) ){
        device_id = mac;
      }

      if( TextUtils.isEmpty(device_id) ){
        device_id = android.provider.Settings.Secure.getString(context.getContentResolver(),android.provider.Settings.Secure.ANDROID_ID);
      }

      json.put("device_id", device_id);

      return json.toString();
    }catch(Exception e){
      e.printStackTrace();
    }
  return null;
}

  ps:清单文件中需要的权限

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

时间: 2024-10-13 02:38:44

获取android 手机mac与device_id的相关文章

如何获取android手机联系人并按字母展示(一)

android提供了本地数据库的查询uri,可以查询出数据: 采用一个AsyncQueryHandler来进行查询, AsyncQueryHandler自己开启了线程来进行数据查询,很方便 protected AsyncQueryHandler mQueryHandler; protected final void queryPersonal() { mQueryHandler.startQuery(QUERY_TOKEN, null, ContactsContract.Contacts.CON

如何获取android手机联系人并按字母展示(二)

下面写怎么让每个首字母相同的联系人归类展示: 在adapter implement SectionIndexer 这样adapter里必须实现以下3个接口: @Override public Object[] getSections() { //section的集合 } @Override public int getPositionForSection(int section) {//当前section的位置 } @Override public int getSectionForPositi

如何获取android手机联系人并按字母展示(三)

如果获取contact的头像信息并展示: 如何根据photoId来获取bitmap: public static Bitmap getContactPhoto(Context context, long photoId, BitmapFactory.Options options) { if (photoId < 0) { return null; } Cursor cursor = null; try { cursor = context.getContentResolver().query(

(转)获取android手机内部存储空间和外部存储空间的参数 &amp;&amp; 如何决定一个apk的安装位置

转:http://blog.csdn.net/zhandoushi1982/article/details/8560233 获取android文件系统的信息,需要Environment类和StatFs类的支持. (1)Environment 是一个提供访问环境变量的类,常用的方法有: A,getRootDirectory() ,返回File,获取Android 的根目录. B,getDataDirectory() ,返回File ,获取Android 数据目录. C,getExternalSto

关于Android的Build类——获取Android手机设备各种信息

经常遇到要获取Android手机设备的相关信息,来进行业务的开发,比如经常会遇到要获取CPU的类型来进行so库的动态的下载.而这些都是在Android的Build类里面.相关信息如下: private String loadSystemInfo() { StringBuilder sb = new StringBuilder(); sb.append("主板:" + Build.BOARD + "\n"); sb.append( "系统启动程序版本号:&q

Android手机Mac OSX下执行adb shell提示device not found解决方法

某些Android手机Mac OS X下执行adb shell提示device not found,参考网上解决方法,以三星S3为例详述方法如下. 终端命令行下输入: #system_profiler SPUSBDataType USB: USB Hi-Speed Bus: Host Controller Location: Built-in USB Host Controller Driver: AppleUSBEHCI PCI Device ID: 0x0d9d PCI Revision I

获取Android手机基本信息

1 /** 2 * 获取android当前可用内存大小 3 */ 4 private String getAvailMemory() {// 获取android当前可用内存大小 5 6 ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE); 7 MemoryInfo mi = new MemoryInfo(); 8 am.getMemoryInfo(mi); 9 //mi.availMe

怎样获取android手机联系人并按字母展示(三)

假设获取contact的头像信息并展示: 怎样依据photoId来获取bitmap: public static Bitmap getContactPhoto(Context context, long photoId, BitmapFactory.Options options) { if (photoId < 0) { return null; } Cursor cursor = null; try { cursor = context.getContentResolver().query(

怎样获取android手机联系人并按字母展示(一)

android提供了本地数据库的查询uri,能够查询出数据: 採用一个AsyncQueryHandler来进行查询, AsyncQueryHandler自己开启了线程来进行数据查询,非常方便 protected AsyncQueryHandler mQueryHandler; protected final void queryPersonal() { mQueryHandler.startQuery(QUERY_TOKEN, null, ContactsContract.Contacts.CO