Browse Source

权限申请更改为使用时申请

hy 4 years ago
parent
commit
50a2415166

+ 3 - 3
app/build.gradle

111
111
112
    productFlavors {
112
    productFlavors {
113
        yingyongbao {}
113
        yingyongbao {}
114
        c360 {}
114
115
        xiaomi {}
115
        xiaomi {}
116
        huawei {}
116
        huawei {}
117
        oppo {}
117
        oppo {}
118
        cdz {}
118
        cdz {}
119
120
//        wandoujia {} baidu {} anzhi {} pp {} vivo {} meizu {} sougou {}
119
        vivo {}
120
//        wandoujia {} baidu {} anzhi {} pp {} vivo {} meizu {} sougou {} c360 {}
121
        productFlavors.all { flavor ->
121
        productFlavors.all { flavor ->
122
            flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
122
            flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
123
        }
123
        }

+ 2 - 2
app/src/main/AndroidManifest.xml

5
    android:versionCode="100"
5
    android:versionCode="100"
6
    android:versionName="3.5.14">
6
    android:versionName="3.5.14">
7
7
8
    <uses-permission android:name="android.permission.BLUETOOTH" />
9
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
8
   <!-- <uses-permission android:name="android.permission.BLUETOOTH" />
9
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />-->
10
    <!--
10
    <!--
11
 If your app targets Android 9 or lower, you can declare
11
 If your app targets Android 9 or lower, you can declare
12
         ACCESS_COARSE_LOCATION instead.
12
         ACCESS_COARSE_LOCATION instead.

+ 32 - 6
app/src/main/java/com/electric/chargingpile/activity/MainMapActivity.java

181
import cn.sharesdk.wechat.moments.WechatMoments;
181
import cn.sharesdk.wechat.moments.WechatMoments;
182
import okhttp3.Call;
182
import okhttp3.Call;
183
import pub.devrel.easypermissions.AfterPermissionGranted;
183
import pub.devrel.easypermissions.AfterPermissionGranted;
184
import pub.devrel.easypermissions.AppSettingsDialog;
184
import pub.devrel.easypermissions.EasyPermissions;
185
import pub.devrel.easypermissions.EasyPermissions;
185
186
186
public class MainMapActivity extends Activity implements LocationSource, AMapLocationListener,
187
public class MainMapActivity extends Activity implements LocationSource, AMapLocationListener,
285
    private float mCurPosX;
286
    private float mCurPosX;
286
    private float mPosY;
287
    private float mPosY;
287
    private float mCurPosY;
288
    private float mCurPosY;
289
    private static final int RC_TELL_PERM = 124;
288
290
289
    private TextView tv_msg_num;
291
    private TextView tv_msg_num;
290
    BitmapDescriptor bdyes = BitmapDescriptorFactory.fromResource(R.drawable.icon_sgreen);
292
    BitmapDescriptor bdyes = BitmapDescriptorFactory.fromResource(R.drawable.icon_sgreen);
710
    private LatLng markerPosition;
712
    private LatLng markerPosition;
711
    private ImageView second_hand_car;
713
    private ImageView second_hand_car;
712
    private LinearLayout private_telephone;
714
    private LinearLayout private_telephone;
715
    private String telephone;
713
716
714
717
715
    @Override
718
    @Override
4413
        final String poi_jing = JsonUtils.getKeyResult(info, "poi_jing");
4416
        final String poi_jing = JsonUtils.getKeyResult(info, "poi_jing");
4414
        final String poi_wei = JsonUtils.getKeyResult(info, "poi_wei");
4417
        final String poi_wei = JsonUtils.getKeyResult(info, "poi_wei");
4415
        final String fenshi_is = JsonUtils.getKeyResult(info, "fenshi_is");
4418
        final String fenshi_is = JsonUtils.getKeyResult(info, "fenshi_is");
4416
        final String telephone = JsonUtils.getKeyResult(info, "telephone");
4419
        telephone = JsonUtils.getKeyResult(info, "telephone");
4417
        TextView fenshi_info_textview = findViewById(R.id.fenshi_info_textview);
4420
        TextView fenshi_info_textview = findViewById(R.id.fenshi_info_textview);
4418
        fenshi_info_textview.setText("");
4421
        fenshi_info_textview.setText("");
4419
4422
4466
                            .setPositiveButton("呼叫", new View.OnClickListener() {
4469
                            .setPositiveButton("呼叫", new View.OnClickListener() {
4467
                                @Override
4470
                                @Override
4468
                                public void onClick(View v) {
4471
                                public void onClick(View v) {
4469
                                    Intent intent = new Intent();
4470
                                    intent.setAction("android.intent.action.CALL");
4471
                                    intent.addCategory("android.intent.category.DEFAULT");
4472
                                    intent.setData(Uri.parse("tel:" + telephone));
4473
                                    startActivity(intent);
4472
                                    tellTask();
4474
                                }
4473
                                }
4475
                            }).setNegativeButton("取消", new View.OnClickListener() {
4474
                            }).setNegativeButton("取消", new View.OnClickListener() {
4476
                        @Override
4475
                        @Override
5829
                    }
5828
                    }
5830
                });
5829
                });
5831
    }
5830
    }
5831
    @AfterPermissionGranted(RC_TELL_PERM)
5832
    public void tellTask() {
5833
        if (hasTellPermission()) {
5834
            // Have permission, do the thing!
5835
//            Toast.makeText(this, "TODO: Camera things", Toast.LENGTH_LONG).show();
5836
            Intent intent = new Intent();
5837
            intent.setAction("android.intent.action.CALL");
5838
            intent.addCategory("android.intent.category.DEFAULT");
5839
            intent.setData(Uri.parse("tel:" + telephone));
5840
            MainMapActivity.this.startActivity(intent);
5841
5842
        } else {
5843
            LogUtils.e("@@@@@@@");
5844
            // Ask for one permission
5845
            EasyPermissions.requestPermissions(
5846
                    this,
5847
                    "该功能需要开启拨号权限,是否前往开启?",
5848
                    RC_TELL_PERM,
5849
                    Manifest.permission.CALL_PHONE);
5850
        }
5851
    }
5852
    private boolean hasTellPermission() {
5853
        return EasyPermissions.hasPermissions(this, Manifest.permission.CALL_PHONE);
5854
    }
5855
5856
5857
5832
5858
5833
}
5859
}

+ 7 - 3
app/src/main/java/com/electric/chargingpile/activity/PrivacyAgreementActivity.java

12
import android.text.method.LinkMovementMethod;
12
import android.text.method.LinkMovementMethod;
13
import android.text.style.ClickableSpan;
13
import android.text.style.ClickableSpan;
14
import android.text.style.StyleSpan;
14
import android.text.style.StyleSpan;
15
import android.util.Log;
15
import android.view.View;
16
import android.view.View;
16
import android.widget.Button;
17
import android.widget.Button;
17
import android.widget.TextView;
18
import android.widget.TextView;
31
        setContentView(R.layout.activity_privacy_agreement);
32
        setContentView(R.layout.activity_privacy_agreement);
32
        BarColorUtil.initStatusBarColor(PrivacyAgreementActivity.this);
33
        BarColorUtil.initStatusBarColor(PrivacyAgreementActivity.this);
33
        if (ProfileManager.getInstance().getPrivacyAgreement(this)) {
34
        if (ProfileManager.getInstance().getPrivacyAgreement(this)) {
35
            Log.e("TAG_HYC", "onCreate:  getPrivacyAgreement" );
34
            startActivity(new Intent(PrivacyAgreementActivity.this, WelcomeActivity.class));
36
            startActivity(new Intent(PrivacyAgreementActivity.this, WelcomeActivity.class));
35
            finish();
37
            finish();
36
        } else if (ProfileManager.getInstance().getPermissionAgreement(PrivacyAgreementActivity.this)) {
38
        } /*else if (ProfileManager.getInstance().getPermissionAgreement(PrivacyAgreementActivity.this)) {
39
            Log.e("TAG_HYC", "onCreate:  getPermissionAgreement" );
37
            startActivity(new Intent(PrivacyAgreementActivity.this, PermissionAgreementActivity.class));
40
            startActivity(new Intent(PrivacyAgreementActivity.this, PermissionAgreementActivity.class));
38
            finish();
41
            finish();
39
        } else {
42
        } */else {
43
            Log.e("TAG_HYC", "onCreate:  initView" );
40
            initView();
44
            initView();
41
        }
45
        }
42
    }
46
    }
80
        agreement_btn.setOnClickListener(new View.OnClickListener() {
84
        agreement_btn.setOnClickListener(new View.OnClickListener() {
81
            @Override
85
            @Override
82
            public void onClick(View v) {
86
            public void onClick(View v) {
83
                startActivity(new Intent(PrivacyAgreementActivity.this, PermissionAgreementActivity.class));
87
                startActivity(new Intent(PrivacyAgreementActivity.this, WelcomeActivity.class));
84
                finish();
88
                finish();
85
            }
89
            }
86
        });
90
        });

+ 53 - 8
app/src/main/java/com/electric/chargingpile/activity/ZhanDetailsNew.java

1
package com.electric.chargingpile.activity;
1
package com.electric.chargingpile.activity;
2
2
3
import android.Manifest;
3
import android.app.Activity;
4
import android.app.Activity;
4
import android.content.Context;
5
import android.content.Context;
5
import android.content.Intent;
6
import android.content.Intent;
11
import android.os.Bundle;
12
import android.os.Bundle;
12
import android.os.Handler;
13
import android.os.Handler;
13
import android.os.Message;
14
import android.os.Message;
15
16
import androidx.annotation.NonNull;
14
import androidx.viewpager.widget.ViewPager;
17
import androidx.viewpager.widget.ViewPager;
15
import android.util.Log;
18
import android.util.Log;
16
import android.view.Gravity;
19
import android.view.Gravity;
32
import android.widget.TextView;
35
import android.widget.TextView;
33
import android.widget.Toast;
36
import android.widget.Toast;
34
37
38
import com.blankj.utilcode.util.LogUtils;
35
import com.electric.chargingpile.R;
39
import com.electric.chargingpile.R;
36
import com.electric.chargingpile.application.MainApplication;
40
import com.electric.chargingpile.application.MainApplication;
37
import com.electric.chargingpile.data.Pic;
41
import com.electric.chargingpile.data.Pic;
48
import com.squareup.okhttp.Request;
52
import com.squareup.okhttp.Request;
49
import com.squareup.okhttp.Response;
53
import com.squareup.okhttp.Response;
50
54
55
import org.jetbrains.annotations.NotNull;
51
import org.json.JSONArray;
56
import org.json.JSONArray;
52
import org.json.JSONException;
57
import org.json.JSONException;
53
import org.json.JSONObject;
58
import org.json.JSONObject;
58
import java.util.List;
63
import java.util.List;
59
64
60
import cn.sharesdk.onekeyshare.OnekeyShare;
65
import cn.sharesdk.onekeyshare.OnekeyShare;
66
import pub.devrel.easypermissions.AfterPermissionGranted;
67
import pub.devrel.easypermissions.AppSettingsDialog;
68
import pub.devrel.easypermissions.EasyPermissions;
61
69
62
70
63
public class ZhanDetailsNew extends Activity implements OnClickListener {
71
public class ZhanDetailsNew extends Activity implements OnClickListener, EasyPermissions.PermissionCallbacks {
64
    private ImageView iv_down, phone;
72
    private ImageView iv_down, phone;
65
    private LinearLayout ll_menu;
73
    private LinearLayout ll_menu;
66
    private ImageView ivBack, ivType, ivZhan, iv_call;
74
    private ImageView ivBack, ivType, ivZhan, iv_call;
104
    private EditText claimer;
112
    private EditText claimer;
105
    public final static int RESULT_0 = 0;
113
    public final static int RESULT_0 = 0;
106
    public final static int RESULT_1 = 1;
114
    public final static int RESULT_1 = 1;
107
115
    private static final int RC_TELL_PERM = 124;
116
    private String telNum;
108
117
109
//    private ViewPager viewPager;
118
//    private ViewPager viewPager;
110
//    private ArrayList<View> pageview;
119
//    private ArrayList<View> pageview;
791
                        .setPositiveButton("呼叫", new View.OnClickListener() {
800
                        .setPositiveButton("呼叫", new View.OnClickListener() {
792
                            @Override
801
                            @Override
793
                            public void onClick(View v) {
802
                            public void onClick(View v) {
794
                                String telNum = zhan.getTelephone().toString();
795
                                Intent intent = new Intent();
796
                                intent.setAction("android.intent.action.CALL");
797
                                intent.addCategory("android.intent.category.DEFAULT");
798
                                intent.setData(Uri.parse("tel:" + telNum));
799
                                ZhanDetailsNew.this.startActivity(intent);
803
                                telNum = zhan.getTelephone().toString();
804
                                tellTask();
800
                            }
805
                            }
801
                        }).setNegativeButton("取消", new View.OnClickListener() {
806
                        }).setNegativeButton("取消", new View.OnClickListener() {
802
                    @Override
807
                    @Override
1091
            }
1096
            }
1092
        }).start();
1097
        }).start();
1093
    }
1098
    }
1099
    @AfterPermissionGranted(RC_TELL_PERM)
1100
    public void tellTask() {
1101
        if (hasTellPermission()) {
1102
            // Have permission, do the thing!
1103
//            Toast.makeText(this, "TODO: Camera things", Toast.LENGTH_LONG).show();
1104
            Intent intent = new Intent();
1105
            intent.setAction("android.intent.action.CALL");
1106
            intent.addCategory("android.intent.category.DEFAULT");
1107
            intent.setData(Uri.parse("tel:" + telNum));
1108
            ZhanDetailsNew.this.startActivity(intent);
1109
1110
        } else {
1111
            LogUtils.e("@@@@@@@");
1112
            // Ask for one permission
1113
            EasyPermissions.requestPermissions(
1114
                    this,
1115
                    "该功能需要开启拨号权限,是否前往开启?",
1116
                    RC_TELL_PERM,
1117
                    Manifest.permission.CALL_PHONE);
1118
        }
1119
    }
1120
    private boolean hasTellPermission() {
1121
        return EasyPermissions.hasPermissions(this, Manifest.permission.CALL_PHONE);
1122
    }
1123
1124
1125
    @Override
1126
    public void onPermissionsGranted(int requestCode, @NonNull @NotNull List<String> perms) {
1127
1128
    }
1129
1130
    @Override
1131
    public void onPermissionsDenied(int requestCode, List<String> perms) {
1132
        if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
1133
            // TODO add by hyg20200525
1134
            new AppSettingsDialog.Builder(ZhanDetailsNew.this).build().show();
1135
//            new AppSettingsDialog.Builder(InputCodeActivity.this,
1136
//                    "该功能需要开启拨号权限,是否前往开启??").build().show();
1137
        }
1138
    }
1094
}
1139
}

+ 55 - 7
app/src/main/java/com/electric/chargingpile/fragment/DetailsFragment.java

1
package com.electric.chargingpile.fragment;
1
package com.electric.chargingpile.fragment;
2
2
3
3
4
import android.Manifest;
4
import android.annotation.TargetApi;
5
import android.annotation.TargetApi;
5
import android.content.Context;
6
import android.content.Context;
6
import android.content.Intent;
7
import android.content.Intent;
26
import android.widget.TextView;
27
import android.widget.TextView;
27
import android.widget.Toast;
28
import android.widget.Toast;
28
29
30
import androidx.annotation.NonNull;
29
import androidx.fragment.app.Fragment;
31
import androidx.fragment.app.Fragment;
30
32
31
import com.amap.api.maps.AMapUtils;
33
import com.amap.api.maps.AMapUtils;
32
import com.amap.api.maps.model.LatLng;
34
import com.amap.api.maps.model.LatLng;
35
import com.blankj.utilcode.util.LogUtils;
33
import com.electric.chargingpile.R;
36
import com.electric.chargingpile.R;
34
import com.electric.chargingpile.activity.AlterOneActivity;
37
import com.electric.chargingpile.activity.AlterOneActivity;
35
import com.electric.chargingpile.activity.ChargingQianDaoActivity;
38
import com.electric.chargingpile.activity.ChargingQianDaoActivity;
38
import com.electric.chargingpile.activity.MainMapActivity;
41
import com.electric.chargingpile.activity.MainMapActivity;
39
import com.electric.chargingpile.activity.NewZhanDetailsActivity;
42
import com.electric.chargingpile.activity.NewZhanDetailsActivity;
40
import com.electric.chargingpile.activity.PriceDetailsActivity;
43
import com.electric.chargingpile.activity.PriceDetailsActivity;
44
import com.electric.chargingpile.activity.ZhanDetailsNew;
41
import com.electric.chargingpile.application.MainApplication;
45
import com.electric.chargingpile.application.MainApplication;
42
import com.electric.chargingpile.data.ChartData;
46
import com.electric.chargingpile.data.ChartData;
43
import com.electric.chargingpile.data.MyOtto;
47
import com.electric.chargingpile.data.MyOtto;
78
import com.zhy.view.flowlayout.TagAdapter;
82
import com.zhy.view.flowlayout.TagAdapter;
79
import com.zhy.view.flowlayout.TagFlowLayout;
83
import com.zhy.view.flowlayout.TagFlowLayout;
80
84
85
import org.jetbrains.annotations.NotNull;
81
import org.json.JSONArray;
86
import org.json.JSONArray;
82
import org.json.JSONException;
87
import org.json.JSONException;
83
import org.json.JSONObject;
88
import org.json.JSONObject;
99
104
100
import me.codeboy.android.aligntextview.AlignTextView;
105
import me.codeboy.android.aligntextview.AlignTextView;
101
import okhttp3.Call;
106
import okhttp3.Call;
107
import pub.devrel.easypermissions.AfterPermissionGranted;
108
import pub.devrel.easypermissions.AppSettingsDialog;
109
import pub.devrel.easypermissions.EasyPermissions;
102
110
103
public class DetailsFragment extends Fragment implements View.OnClickListener, OnChartValueSelectedListener {
111
public class DetailsFragment extends Fragment implements View.OnClickListener, OnChartValueSelectedListener, EasyPermissions.PermissionCallbacks {
104
    private static final String TAG = "DetailsFragment";
112
    private static final String TAG = "DetailsFragment";
113
    private static final int RC_TELL_PERM = 124;
105
    private Zhan zhan = null;
114
    private Zhan zhan = null;
106
    private CombinedChart mChart;
115
    private CombinedChart mChart;
107
    public static ArrayList<JSONObject> datas;
116
    public static ArrayList<JSONObject> datas;
792
    private String zongjia;
801
    private String zongjia;
793
    private ImageView scan_charge_btn;
802
    private ImageView scan_charge_btn;
794
    private Space scan_charge_space;
803
    private Space scan_charge_space;
804
    private String telNum;
795
805
796
    @Override
806
    @Override
797
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
807
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
952
                new com.electric.chargingpile.view.AlertDialog(getActivity()).builder()
962
                new com.electric.chargingpile.view.AlertDialog(getActivity()).builder()
953
                        .setMsg(zhan_name + "  " + telephone)
963
                        .setMsg(zhan_name + "  " + telephone)
954
                        .setPositiveButton("呼叫", new View.OnClickListener() {
964
                        .setPositiveButton("呼叫", new View.OnClickListener() {
965
955
                            @Override
966
                            @Override
956
                            public void onClick(View v) {
967
                            public void onClick(View v) {
957
                                String telNum = telephone.toString();
958
                                Intent intent = new Intent();
959
                                intent.setAction("android.intent.action.CALL");
960
                                intent.addCategory("android.intent.category.DEFAULT");
961
                                intent.setData(Uri.parse("tel:" + telNum));
962
                                getActivity().startActivity(intent);
968
                                telNum = telephone.toString();
969
                                tellTask();
963
                            }
970
                            }
964
                        }).setNegativeButton("取消", new View.OnClickListener() {
971
                        }).setNegativeButton("取消", new View.OnClickListener() {
965
                    @Override
972
                    @Override
1528
        super.onDestroyView();
1535
        super.onDestroyView();
1529
    }
1536
    }
1530
1537
1538
    @AfterPermissionGranted(RC_TELL_PERM)
1539
    public void tellTask() {
1540
        if (hasTellPermission()) {
1541
            // Have permission, do the thing!
1542
//            Toast.makeText(this, "TODO: Camera things", Toast.LENGTH_LONG).show();
1543
            Intent intent = new Intent();
1544
            intent.setAction("android.intent.action.CALL");
1545
            intent.addCategory("android.intent.category.DEFAULT");
1546
            intent.setData(Uri.parse("tel:" + telNum));
1547
            DetailsFragment.this.startActivity(intent);
1548
1549
        } else {
1550
            LogUtils.e("@@@@@@@");
1551
            // Ask for one permission
1552
            EasyPermissions.requestPermissions(
1553
                    this,
1554
                    "该功能需要开启拨号权限,是否前往开启?",
1555
                    RC_TELL_PERM,
1556
                    Manifest.permission.CALL_PHONE);
1557
        }
1558
    }
1559
    private boolean hasTellPermission() {
1560
        return EasyPermissions.hasPermissions(getActivity(), Manifest.permission.CALL_PHONE);
1561
    }
1562
1563
1564
    @Override
1565
    public void onPermissionsGranted(int requestCode, @NonNull @NotNull List<String> perms) {
1566
1567
    }
1568
1569
    @Override
1570
    public void onPermissionsDenied(int requestCode, List<String> perms) {
1571
        if (EasyPermissions.somePermissionPermanentlyDenied(this, perms)) {
1572
            // TODO add by hyg20200525
1573
            new AppSettingsDialog.Builder(DetailsFragment.this).build().show();
1574
//            new AppSettingsDialog.Builder(InputCodeActivity.this,
1575
//                    "该功能需要开启拨号权限,是否前往开启??").build().show();
1576
        }
1577
    }
1578
1531
    public static String getMD5(String content) {
1579
    public static String getMD5(String content) {
1532
        try {
1580
        try {
1533
1581

+ 65 - 65
app/src/main/java/com/electric/chargingpile/util/Util.java

402
    }
402
    }
403

403

404
    public static String generateDmpUrl(String url) {
404
    public static String generateDmpUrl(String url) {
405
        url = url.replace("__OS__", "android");
405
      /*  url = url.replace("__OS__", "android");
406
        String mac = getMac(MainApplication.context);
406
        String mac = getMac(MainApplication.context);
407
        if (mac != null) {
407
        if (mac != null) {
408
            mac = mac.replace(":", "");
408
            mac = mac.replace(":", "");
419

419

420
        url = url.replace("__DVCBRAND__", Build.BRAND);
420
        url = url.replace("__DVCBRAND__", Build.BRAND);
421
        url = url.replace("__DVCMODEL__", Build.MODEL);
421
        url = url.replace("__DVCMODEL__", Build.MODEL);
422

422
*/
423
        return url;
423
        return url;
424
    }
424
    }
425

425

436
        return udid;
436
        return udid;
437
    }
437
    }
438

438

439
    /**
440
     * 获取wifi的mac地址,适配到android Q
441
     *
442
     * @param paramContext
443
     * @return
444
     */
445
    private static String getMac(Context paramContext) {
446
        try {
447
            if (Build.VERSION.SDK_INT >= 23) {
448
                String str = getMacMoreThanM(paramContext);
449
                if (!TextUtils.isEmpty(str))
450
                    return str;
451
            }
452
            // 6.0以下手机直接获取wifi的mac地址即可
453
            WifiManager wifiManager = (WifiManager) paramContext.getSystemService("wifi");
454
            WifiInfo wifiInfo = wifiManager.getConnectionInfo();
455
            if (wifiInfo != null)
456
                return wifiInfo.getMacAddress();
457
        } catch (Throwable throwable) {
458
            throwable.printStackTrace();
459
        }
460
        return null;
461
    }
462

463
    /**
464
     * android 6.0+获取wifi的mac地址
465
     *
466
     * @param paramContext
467
     * @return
468
     */
469
    private static String getMacMoreThanM(Context paramContext) {
470
        try {
471
            //获取本机器所有的网络接口
472
            Enumeration enumeration = NetworkInterface.getNetworkInterfaces();
473
            while (enumeration.hasMoreElements()) {
474
                NetworkInterface networkInterface = (NetworkInterface) enumeration.nextElement();
475
                //获取硬件地址,一般是MAC
476
                byte[] arrayOfByte = networkInterface.getHardwareAddress();
477
                if (arrayOfByte == null || arrayOfByte.length == 0) {
478
                    continue;
479
                }
480

481
                StringBuilder stringBuilder = new StringBuilder();
482
                for (byte b : arrayOfByte) {
483
                    //格式化为:两位十六进制加冒号的格式,若是不足两位,补0
484
                    stringBuilder.append(String.format("%02X:", new Object[]{Byte.valueOf(b)}));
485
                }
486
                if (stringBuilder.length() > 0) {
487
                    //删除后面多余的冒号
488
                    stringBuilder.deleteCharAt(stringBuilder.length() - 1);
489
                }
490
                String str = stringBuilder.toString();
491
                // wlan0:无线网卡 eth0:以太网卡
492
                if (networkInterface.getName().equals("wlan0")) {
493
                    return str;
494
                }
495
            }
496
        } catch (SocketException socketException) {
497
            return null;
498
        }
499
        return null;
500
    }
501

439
//    /**
440
//     * 获取wifi的mac地址,适配到android Q
441
//     *
442
//     * @param paramContext
443
//     * @return
444
//     */
445
//    private static String getMac(Context paramContext) {
446
//        try {
447
//            if (Build.VERSION.SDK_INT >= 23) {
448
//                String str = getMacMoreThanM(paramContext);
449
//                if (!TextUtils.isEmpty(str))
450
//                    return str;
451
//            }
452
//            // 6.0以下手机直接获取wifi的mac地址即可
453
//            WifiManager wifiManager = (WifiManager) paramContext.getSystemService("wifi");
454
//            WifiInfo wifiInfo = wifiManager.getConnectionInfo();
455
//            if (wifiInfo != null)
456
//                return wifiInfo.getMacAddress();
457
//        } catch (Throwable throwable) {
458
//            throwable.printStackTrace();
459
//        }
460
//        return null;
461
//    }
462
//
463
//    /**
464
//     * android 6.0+获取wifi的mac地址
465
//     *
466
//     * @param paramContext
467
//     * @return
468
//     */
469
//    private static String getMacMoreThanM(Context paramContext) {
470
//        try {
471
//            //获取本机器所有的网络接口
472
//            Enumeration enumeration = NetworkInterface.getNetworkInterfaces();
473
//            while (enumeration.hasMoreElements()) {
474
//                NetworkInterface networkInterface = (NetworkInterface) enumeration.nextElement();
475
//                //获取硬件地址,一般是MAC
476
//                byte[] arrayOfByte = networkInterface.getHardwareAddress();
477
//                if (arrayOfByte == null || arrayOfByte.length == 0) {
478
//                    continue;
479
//                }
480
//
481
//                StringBuilder stringBuilder = new StringBuilder();
482
//                for (byte b : arrayOfByte) {
483
//                    //格式化为:两位十六进制加冒号的格式,若是不足两位,补0
484
//                    stringBuilder.append(String.format("%02X:", new Object[]{Byte.valueOf(b)}));
485
//                }
486
//                if (stringBuilder.length() > 0) {
487
//                    //删除后面多余的冒号
488
//                    stringBuilder.deleteCharAt(stringBuilder.length() - 1);
489
//                }
490
//                String str = stringBuilder.toString();
491
//                // wlan0:无线网卡 eth0:以太网卡
492
//                if (networkInterface.getName().equals("wlan0")) {
493
//                    return str;
494
//                }
495
//            }
496
//        } catch (SocketException socketException) {
497
//            return null;
498
//        }
499
//        return null;
500
//    }
501
//
502

502

503
    public static PictureParameterStyle getWhiteStyle(Context context) {
503
    public static PictureParameterStyle getWhiteStyle(Context context) {
504
        // 相册主题
504
        // 相册主题