Author SHA1 Message Date
jia 91097fe0c0 x 2025-06-24 23:40:52 +08:00
jia 7acd65cb7c feat#415_权限 2025-06-24 22:38:17 +08:00
jia fa69f374b6 f 2025-06-16 22:01:55 +08:00
jia 605fad0a0a x 2025-06-14 16:56:38 +08:00
jia 6979384f08 合并 2025-06-12 22:17:18 +08:00
jia ce1feae49f 版本v4.12.04 2025-05-25 22:08:57 +08:00
9 changed files with 51 additions and 23 deletions
+2 -3
View File
@@ -25,7 +25,6 @@ android.nonTransitiveRClass=true
android.enableJetifier=true
android.useAndroidX=true
android.useDeprecatedNdk=true
versionCode=109
versionName=4.12.09
versionCode=111
versionName=4.12.11
+1 -1
View File
@@ -43,7 +43,7 @@ android {
versionName project.versionName
multiDexEnabled true
ndk {
abiFilters "arm64-v8a"
abiFilters "armeabi", "arm64-v8a"
}
manifestPlaceholders = [
+1
View File
@@ -19,6 +19,7 @@
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS"/>
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
@@ -78,6 +78,7 @@ public class LoginActivity extends BaseActivity {
initTitleView();
initView();
initListener();
SPUtil.getInstance(this).putBoolean("xfirst",false);
}
private void initView() {
@@ -294,7 +295,7 @@ public class LoginActivity extends BaseActivity {
switch (msg.what) {
case NetWork.Success:
saveInfo();
ToastUtil.show(getApplicationContext(), "登录成功");
// ToastUtil.show(getApplicationContext(), "登录成功");
dismissProgressDialog();
startActivity(MainTabActivity.class);
finish();
@@ -226,7 +226,7 @@ public class NoNetwork extends BaseSingleActivity {
Intent intent = new Intent();
switch (msg.what) {
case NetWork.Success:
ToastUtil.show(getApplicationContext(), "登录成功");
// ToastUtil.show(getApplicationContext(), "登录成功");
String stringExtra = getIntent().getStringExtra("jpush");
if (!TextUtils.isEmpty(stringExtra)) {
intent.putExtra("jpush", stringExtra);
@@ -93,6 +93,7 @@ public class RegisteredActivity extends BaseActivityNotAnim {
initView();
init();
initListener();
SPUtil.getInstance(this).putBoolean("xfirst",false);
}
private void test() {
@@ -198,6 +198,8 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
public static Activity cam_ctx;
private PermissionHelper permissionHelper;
private String permissionHintFirst = "";
private String permissionHint = "";
// String[] permission;
String[] permission_blue;
@Override
@@ -226,10 +228,18 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
permissionHelper = new PermissionHelper(DeviceFragment.this, permission_blue, 250);
initBooth();
boolean notificationsEnabled = PushManager.getInstance().areNotificationsEnabled(requireActivity());
if (!notificationsEnabled){
toOpenNotifications();
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU){
boolean notificationsEnabled = PushManager.getInstance().areNotificationsEnabled(requireActivity());
if (!notificationsEnabled){
toOpenNotifications();
}
permissionHintFirst = "";
permissionHint = "";
}else {
}
return v;
}
@@ -274,16 +284,17 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
dialog.show();
}
private void getPermission() {
private void getPermission(boolean jump) {
permissionHelper.request(new PermissionHelper.PermissionCallback() {
@Override
public void onPermissionGranted() {
Intent intent = new Intent();
intent.setClass(getActivity(), BindTwoDeviceActivity.class);
startActivity(intent);
AnimationUtil.startAnimation(getActivity());
if (jump){
Intent intent = new Intent();
intent.setClass(getActivity(), BindTwoDeviceActivity.class);
startActivity(intent);
AnimationUtil.startAnimation(getActivity());
}
}
@Override
@@ -317,7 +328,7 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
public void onClick(
DialogInterface dialog,
int which) {
getPermission();
getPermission(jump);
}
});
dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@@ -1604,7 +1615,7 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
private void addDevice(){
if (ContextCompat.checkSelfPermission(requireActivity(), android.Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED || BuildConfig.show) {
showPermissionHint();
showPermissionHint(true);
}else {
Intent intentx = new Intent();
intentx.setClass(requireActivity(), BindTwoDeviceActivity.class);
@@ -1937,6 +1948,11 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
L.i("jjjia-----------蓝牙不可用---");
}
}else {
boolean first = SPUtil.getInstance(requireContext()).getBoolean("xfirst",false);
if (!first){
showPermissionHint(false);
SPUtil.getInstance(requireContext()).putBoolean("xfirst",true);
}
L.i("jjjia-----------没有扫描权限---");
}
}
@@ -1952,16 +1968,16 @@ public class DeviceFragment extends BaseV4Fragment implements ObservableScrollVi
private int currentIndex = 0;
private void showPermissionHint(){
private void showPermissionHint(boolean jump){
IosAlertDialog openDialog = new IosAlertDialog(getContext()).builder();
IosAlertDialog openDialog = new IosAlertDialog(requireContext()).builder();
openDialog.setCancelable(true);
openDialog.setTitle("申请权限目的说明");
openDialog.setMessage("添加设备,需要先获取位置信息,才能获取附近wifi信息或智能设备,进行配网连接您的设备,是否允许申请位置权限和蓝牙权限?");
openDialog.setPositiveButton("继续", new View.OnClickListener() {
openDialog.setTitle("重要提示");
openDialog.setMessage(!jump?"APP首次绑定设备需要访问位置权限和蓝牙使用权限,在稍后弹出的权限使用对话框中请点击确定,并打开手机蓝牙。":"添加设备,需要先获取位置信息,才能获取附近wifi信息或智能设备,进行配网连接您的设备,是否允许申请位置权限和蓝牙权限?");
openDialog.setPositiveButton("确定", new View.OnClickListener() {
@Override
public void onClick(View view) {
getPermission();
getPermission(jump);
}
});
openDialog.setNegativeButton("取消", new View.OnClickListener() {
@@ -14,6 +14,7 @@ import android.util.Log;
import android.widget.ImageView;
import androidx.activity.ComponentActivity;
import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.content.ContextCompat;
@@ -297,11 +298,16 @@ public class AppUtil {
perList.add(android.Manifest.permission.BLUETOOTH);
perList.add(android.Manifest.permission.ACCESS_FINE_LOCATION);
perList.add(android.Manifest.permission.ACCESS_COARSE_LOCATION);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){
perList.add(android.Manifest.permission.BLUETOOTH_SCAN);
perList.add(android.Manifest.permission.BLUETOOTH_ADVERTISE);
perList.add(android.Manifest.permission.BLUETOOTH_CONNECT);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU){
perList.add(android.Manifest.permission.POST_NOTIFICATIONS);
}
int size = perList.size();
String [] permissions = new String[size];
@@ -113,6 +113,10 @@ public class IosAlertDialog {
}
public void setTextStart(){
txt_msg.setTextAlignment(View.TEXT_ALIGNMENT_TEXT_START);
}
public IosAlertDialog setMessage(String msg) {
showMsg = true;
if(!isMiddleShowEclipse){