|
@@ -1,10 +1,12 @@
|
|
package com.zzliaoyuan.power_sensor.activity;
|
|
package com.zzliaoyuan.power_sensor.activity;
|
|
|
|
|
|
import android.Manifest;
|
|
import android.Manifest;
|
|
|
|
+import android.app.Activity;
|
|
import android.app.AlertDialog;
|
|
import android.app.AlertDialog;
|
|
import android.content.DialogInterface;
|
|
import android.content.DialogInterface;
|
|
import android.content.Intent;
|
|
import android.content.Intent;
|
|
import android.content.pm.ActivityInfo;
|
|
import android.content.pm.ActivityInfo;
|
|
|
|
+import android.content.pm.PackageManager;
|
|
import android.media.AudioManager;
|
|
import android.media.AudioManager;
|
|
import android.media.SoundPool;
|
|
import android.media.SoundPool;
|
|
import android.net.Uri;
|
|
import android.net.Uri;
|
|
@@ -31,6 +33,7 @@ import com.rscja.deviceapi.RFIDWithUHFUART;
|
|
import com.zzliaoyuan.power_sensor.fragment.UHFReadTagFragment;
|
|
import com.zzliaoyuan.power_sensor.fragment.UHFReadTagFragment;
|
|
import com.zzliaoyuan.rifdmastercore.LibCore;
|
|
import com.zzliaoyuan.rifdmastercore.LibCore;
|
|
|
|
|
|
|
|
+import androidx.core.app.ActivityCompat;
|
|
public class MainActivity extends ReactActivity {
|
|
public class MainActivity extends ReactActivity {
|
|
/**
|
|
/**
|
|
* Returns the name of the main component registered from JavaScript. This is used to schedule
|
|
* Returns the name of the main component registered from JavaScript. This is used to schedule
|
|
@@ -49,9 +52,29 @@ public class MainActivity extends ReactActivity {
|
|
|
|
|
|
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // 禁用横屏
|
|
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); // 禁用横屏
|
|
|
|
|
|
|
|
+ verifyStoragePermissions(this);
|
|
checkLicense();
|
|
checkLicense();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ // Storage Permissions
|
|
|
|
+ private static final int REQUEST_EXTERNAL_STORAGE = 1;
|
|
|
|
+ private static String[] PERMISSIONS_STORAGE = {
|
|
|
|
+ Manifest.permission.READ_EXTERNAL_STORAGE,
|
|
|
|
+ Manifest.permission.WRITE_EXTERNAL_STORAGE
|
|
|
|
+ };
|
|
|
|
+ public static void verifyStoragePermissions(Activity activity) {
|
|
|
|
+ // Check if we have write permission
|
|
|
|
+ int permission_w = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);
|
|
|
|
+ int permission_r = ActivityCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE);
|
|
|
|
+ if (permission_w != PackageManager.PERMISSION_GRANTED || permission_r != PackageManager.PERMISSION_GRANTED) {
|
|
|
|
+ // We don't have permission so prompt the user
|
|
|
|
+ ActivityCompat.requestPermissions(
|
|
|
|
+ activity,
|
|
|
|
+ PERMISSIONS_STORAGE,
|
|
|
|
+ REQUEST_EXTERNAL_STORAGE
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
@Override
|
|
@Override
|
|
protected ReactActivityDelegate createReactActivityDelegate() {
|
|
protected ReactActivityDelegate createReactActivityDelegate() {
|
|
@@ -65,7 +88,7 @@ public class MainActivity extends ReactActivity {
|
|
|
|
|
|
@Override
|
|
@Override
|
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
|
public boolean onKeyDown(int keyCode, KeyEvent event) {
|
|
- if (keyCode == 139 || keyCode == 280) {
|
|
|
|
|
|
+ if (keyCode == 139 || keyCode == 280 || keyCode == 293) {
|
|
|
|
|
|
if (event.getRepeatCount() == 0) {
|
|
if (event.getRepeatCount() == 0) {
|
|
UHFReadTagFragment.getInstance().myOnKeyDwon();
|
|
UHFReadTagFragment.getInstance().myOnKeyDwon();
|
|
@@ -118,7 +141,7 @@ public class MainActivity extends ReactActivity {
|
|
} else {
|
|
} else {
|
|
final AlertDialog.Builder normalDialog = new AlertDialog.Builder(this);
|
|
final AlertDialog.Builder normalDialog = new AlertDialog.Builder(this);
|
|
// normalDialog.setTitle("电金晴");
|
|
// normalDialog.setTitle("电金晴");
|
|
- normalDialog.setMessage("掌机认证失败,请联系供应商!");
|
|
|
|
|
|
+ normalDialog.setMessage("掌机认证失败,请联系供应商!\n macCode:"+macCode+"。licenseCode:"+licenseCode);
|
|
normalDialog.setPositiveButton("确定",
|
|
normalDialog.setPositiveButton("确定",
|
|
new DialogInterface.OnClickListener() {
|
|
new DialogInterface.OnClickListener() {
|
|
@Override
|
|
@Override
|