소스 검색

修复无法搜索到设备的bug

master
陈福行 2 년 전
부모
커밋
73503c5e9f

+ 1
- 0
app/src/main/AndroidManifest.xml 파일 보기

android:name="android.support.FILE_PROVIDER_PATHS" android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" /> android:resource="@xml/file_paths" />
</provider> </provider>
<service android:name="com.pingwang.bluetoothlib.server.ELinkBleServer"/>
</application> </application>


</manifest> </manifest>

+ 5
- 80
app/src/main/java/aicare/net/cn/sdk/ailinksdkdemoandroid/MainActivity.java 파일 보기

import android.widget.TextView; import android.widget.TextView;


import com.besthealth.bhBodyComposition120.BhBodyComposition; import com.besthealth.bhBodyComposition120.BhBodyComposition;
import com.pingwang.bluetoothlib.AILinkSDK;
import com.pingwang.bluetoothlib.utils.BleLog; import com.pingwang.bluetoothlib.utils.BleLog;


import java.util.ArrayList; import java.util.ArrayList;
initView(); initView();
initData(); initData();
initListener(); initListener();
int bodyComposition = new BhBodyComposition().getBodyComposition();
L.i("bodyComposition:" + bodyComposition);

// Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:10086"));
// Method setDefaultSim = null;
// try {
// setDefaultSim = TelephonyManager.class.getDeclaredMethod("setDefaultSim", Context.class, int.class, int.class);
// setDefaultSim.invoke(null, this, 0, 0);
// } catch (NoSuchMethodException e) {
// e.printStackTrace();
// } catch (IllegalAccessException e) {
// e.printStackTrace();
// } catch (InvocationTargetException e) {
// e.printStackTrace();
// }
// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// startActivity(intent);
} }




String version = getString(R.string.version) + ":" + BuildConfig.VERSION_NAME; String version = getString(R.string.version) + ":" + BuildConfig.VERSION_NAME;
((TextView) findViewById(R.id.tv_app_version)).setText(version); ((TextView) findViewById(R.id.tv_app_version)).setText(version);
ActionBar supportActionBar = getSupportActionBar(); ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar != null)
if (supportActionBar != null) {
supportActionBar.setTitle(getString(R.string.app_name) + BuildConfig.VERSION_NAME); supportActionBar.setTitle(getString(R.string.app_name) + BuildConfig.VERSION_NAME);
}
findViewById(R.id.btn_about).setOnClickListener(new View.OnClickListener() { findViewById(R.id.btn_about).setOnClickListener(new View.OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
}); });


MyListener listener = new MyListener(); MyListener listener = new MyListener();

// Button btn_shpy = findViewById(R.id.btn_sphy);
// Button btn_tempgun = findViewById(R.id.btn_tempgun);
// Button btn_temp = findViewById(R.id.btn_temp);
// Button btn_baby = findViewById(R.id.btn_baby);
// Button btn_height = findViewById(R.id.btn_height);
// Button btn_ble = findViewById(R.id.btn_ble);
// Button btn_weightScale = findViewById(R.id.btn_lock);
// Button btn_ble_test = findViewById(R.id.btn_ble_test);
// Button btnConnectTest = findViewById(R.id.btnConnectTest);
// Button btn_ad_weight = findViewById(R.id.btn_ad_weight);
// Button btn_ble_weight = findViewById(R.id.btn_ble_weight);
// Button btn_wifi_ble_tooth = findViewById(R.id.btn_wifi_ble_tooth);
// Button wifi_config = findViewById(R.id.wifi_config);
// Button eight_scale = findViewById(R.id.eight_scale);
// Button btn_ota = findViewById(R.id.btn_ota);
// Button btn_wristband = findViewById(R.id.btn_wristband);
// Button glucometer = findViewById(R.id.glucometer);
// Button btn_broadcast_scale = findViewById(R.id.btn_broadcast_scale);
// Button btn_broadcast_blood_oxygen = findViewById(R.id.btn_broadcast_blood_oxygen);
// Button btn_smart_mask = findViewById(R.id.btn_smart_mask);
// Button btn_bld = findViewById(R.id.btn_bld);
// Button btn_bleBo = findViewById(R.id.btn_bleBo);
// Button btn_coffeeScale = findViewById(R.id.btn_coffeeScale);
// Button btn_scooter = findViewById(R.id.btn_scooter);
// Button btn_shareCharger = findViewById(R.id.btn_shareCharger);
// Button btn_transmission = findViewById(R.id.btn_transmission);
// Button btn_wifi_ble_weight = findViewById(R.id.btn_wifi_ble_weight);
// Button btn_baby_body_fat = findViewById(R.id.btn_baby_body_fat);
mList.add(findViewById(R.id.btn_sphy)); mList.add(findViewById(R.id.btn_sphy));
mList.add(findViewById(R.id.btn_tempgun)); mList.add(findViewById(R.id.btn_tempgun));
mList.add(findViewById(R.id.btn_temp)); mList.add(findViewById(R.id.btn_temp));
mList.add(findViewById(R.id.btn_baby)); mList.add(findViewById(R.id.btn_baby));
mList.add(findViewById(R.id.btn_height)); mList.add(findViewById(R.id.btn_height));
mList.add(findViewById(R.id.btn_ble)); mList.add(findViewById(R.id.btn_ble));
// mList.add(findViewById(R.id.btn_lock));
mList.add(findViewById(R.id.btn_ble_test)); mList.add(findViewById(R.id.btn_ble_test));
mList.add(findViewById(R.id.btnConnectTest)); mList.add(findViewById(R.id.btnConnectTest));
mList.add(findViewById(R.id.btn_ad_weight)); mList.add(findViewById(R.id.btn_ad_weight));
public void onClick(View v) { public void onClick(View v) {
startActivity(new Intent(mContext, RopeSkippingSetActivity.class)); startActivity(new Intent(mContext, RopeSkippingSetActivity.class));



// Intent intent = new Intent();
// intent.setAction("android.media.action.STILL_IMAGE_CAMERA");
// intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// startActivity(intent);
//
// mHandler.postDelayed(new Runnable() {
// @Override
// public void run() {
// try {
// L.i("按下音量+ start");
// String keyCommand = "input keyevent " + KeyEvent.KEYCODE_VOLUME_UP;
// Runtime runtime = Runtime.getRuntime();
// Process proc = runtime.exec(keyCommand);
// L.i("按下音量+ stop"+proc.toString());
// } catch (IOException e) {
// e.printStackTrace();
// }
//
// }
// }, 5000);

} }
}); });


protected void initView() { protected void initView() {
BleLog.init("", "", true); BleLog.init("", "", true);
//connectDevice(BleValueBean bleValueBean);连接的时候需要传广播对象,否则返回的cid,vid,pid始终都是0 //connectDevice(BleValueBean bleValueBean);连接的时候需要传广播对象,否则返回的cid,vid,pid始终都是0
// AILinkSDK.getInstance().init(getApplication(), new AILinkSDK.OnNewKeyListener() {
// @Override
// public boolean onNewKey(int cid, int vid, int pid) {
// if (vid == 1) {
// return true;
// }
// return false;
// }
// });
//每次连接之前都要设置一次,设置一次之后就一直有效 //每次连接之前都要设置一次,设置一次之后就一直有效
//sdk //sdk
// AILinkBleManager.getInstance().init(mContext, new AILinkBleManager.onInitListener() { // AILinkBleManager.getInstance().init(mContext, new AILinkBleManager.onInitListener() {
super.onRequestPermissionsResult(requestCode, permissions, grantResults); super.onRequestPermissionsResult(requestCode, permissions, grantResults);


//请求权限被拒绝 //请求权限被拒绝
if (requestCode != PERMISSION)
if (requestCode != PERMISSION) {
return; return;
}
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
initPermissions(); initPermissions();
} else { } else {

+ 27
- 10
app/src/main/java/aicare/net/cn/sdk/ailinksdkdemoandroid/ShowBleActivity.java 파일 보기

import android.widget.EditText; import android.widget.EditText;
import android.widget.Toast; import android.widget.Toast;


import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;

import com.pingwang.bluetoothlib.bean.BleValueBean; import com.pingwang.bluetoothlib.bean.BleValueBean;
import com.pingwang.bluetoothlib.config.BleConfig; import com.pingwang.bluetoothlib.config.BleConfig;
import com.pingwang.bluetoothlib.device.BleDevice; import com.pingwang.bluetoothlib.device.BleDevice;
import java.util.UUID; import java.util.UUID;


import aicare.net.cn.sdk.ailinksdkdemoandroid.adapter.StringAdapter; import aicare.net.cn.sdk.ailinksdkdemoandroid.adapter.StringAdapter;
import aicare.net.cn.sdk.ailinksdkdemoandroid.config.AppConfig;
import aicare.net.cn.sdk.ailinksdkdemoandroid.config.BleDeviceConfig; import aicare.net.cn.sdk.ailinksdkdemoandroid.config.BleDeviceConfig;
import aicare.net.cn.sdk.ailinksdkdemoandroid.dialog.HintDataDialogFragment; import aicare.net.cn.sdk.ailinksdkdemoandroid.dialog.HintDataDialogFragment;
import aicare.net.cn.sdk.ailinksdkdemoandroid.dialog.LoadingIosDialogFragment; import aicare.net.cn.sdk.ailinksdkdemoandroid.dialog.LoadingIosDialogFragment;
import aicare.net.cn.sdk.ailinksdkdemoandroid.modules.weight_scale.WeightScaleActivity; import aicare.net.cn.sdk.ailinksdkdemoandroid.modules.weight_scale.WeightScaleActivity;
import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.CheckPermissionUtils; import aicare.net.cn.sdk.ailinksdkdemoandroid.utils.CheckPermissionUtils;
import aicare.net.cn.sdk.ailinksdkdemoandroid.view.MyItemDecoration; import aicare.net.cn.sdk.ailinksdkdemoandroid.view.MyItemDecoration;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import cn.net.aicare.modulelibrary.module.RopeSkipping.RopeSkippingBleData; import cn.net.aicare.modulelibrary.module.RopeSkipping.RopeSkippingBleData;
import cn.net.aicare.modulelibrary.module.scooter.SkateboardBleConfig; import cn.net.aicare.modulelibrary.module.scooter.SkateboardBleConfig;


super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show_ble); setContentView(R.layout.activity_show_ble);
ActionBar supportActionBar = getSupportActionBar(); ActionBar supportActionBar = getSupportActionBar();
if (supportActionBar != null)
if (supportActionBar != null) {
supportActionBar.setTitle(getString(R.string.app_name) + BuildConfig.VERSION_NAME); supportActionBar.setTitle(getString(R.string.app_name) + BuildConfig.VERSION_NAME);
}
Intent mUserService = new Intent(this.getApplicationContext(), ELinkBleServer.class); Intent mUserService = new Intent(this.getApplicationContext(), ELinkBleServer.class);
//核心用户服务 //核心用户服务
startService(mUserService); startService(mUserService);
int type = mType;//默认婴儿秤 int type = mType;//默认婴儿秤
switch (type) { switch (type) {
case BleDeviceConfig.BABY_SCALE: case BleDeviceConfig.BABY_SCALE:
//婴儿秤
intent.setClass(ShowBleActivity.this, BabyCmdActivity.class); intent.setClass(ShowBleActivity.this, BabyCmdActivity.class);
break; break;
case BleDeviceConfig.INFRARED_THERMOMETER: case BleDeviceConfig.INFRARED_THERMOMETER:
//额温枪
intent.setClass(ShowBleActivity.this, TempGunCmdActivity.class); intent.setClass(ShowBleActivity.this, TempGunCmdActivity.class);
break; break;
case BleDeviceConfig.BLOOD_PRESSURE: case BleDeviceConfig.BLOOD_PRESSURE:
case BleDeviceConfig.SPHY_WIFI_BLE: case BleDeviceConfig.SPHY_WIFI_BLE:
//血压计
intent.setClass(ShowBleActivity.this, SphyCmdActivity.class); intent.setClass(ShowBleActivity.this, SphyCmdActivity.class);
break; break;
case BleDeviceConfig.THERMOMETER: case BleDeviceConfig.THERMOMETER:
//体温计
intent.setClass(ShowBleActivity.this, TempCmdActivity.class); intent.setClass(ShowBleActivity.this, TempCmdActivity.class);
break; break;
case BleDeviceConfig.HEIGHT_METER: case BleDeviceConfig.HEIGHT_METER:
//身高仪
intent.setClass(ShowBleActivity.this, HeightCmdActivity.class); intent.setClass(ShowBleActivity.this, HeightCmdActivity.class);
break; break;
case BleDeviceConfig.WEIGHT_BODY_FAT_SCALE: case BleDeviceConfig.WEIGHT_BODY_FAT_SCALE:
//体重体脂称
intent.setClass(ShowBleActivity.this, WeightScaleBleActivity.class); intent.setClass(ShowBleActivity.this, WeightScaleBleActivity.class);
break; break;

case BleDeviceConfig.WEIGHT_BODY_FAT_SCALE_AD: case BleDeviceConfig.WEIGHT_BODY_FAT_SCALE_AD:
//体重体脂称
intent.setClass(ShowBleActivity.this, ADWeightScaleCmdActivity.class); intent.setClass(ShowBleActivity.this, ADWeightScaleCmdActivity.class);
break; break;
case BleDeviceConfig.WEIGHT_BODY_FAT_SCALE_WIFI_BLE: case BleDeviceConfig.WEIGHT_BODY_FAT_SCALE_WIFI_BLE:
break; break;
case BleDeviceConfig.FIND_DEVICE: case BleDeviceConfig.FIND_DEVICE:
// 寻物器 // 寻物器
// intent.setClass(ShowBleActivity.this, FindDeviceActivity.class);
intent.setClass(ShowBleActivity.this, FindDeviceNewActivity.class); intent.setClass(ShowBleActivity.this, FindDeviceNewActivity.class);
BleConfig.setHandshakeStatus(mac, false); BleConfig.setHandshakeStatus(mac, false);
break; break;
intent.setClass(ShowBleActivity.this, FoodTempActivity.class); intent.setClass(ShowBleActivity.this, FoodTempActivity.class);
break; break;
case BleDeviceConfig.HEIGHT_BODY_FAT: case BleDeviceConfig.HEIGHT_BODY_FAT:
//身高体脂秤
intent.setClass(ShowBleActivity.this, HeightWeightScaleActivity.class); intent.setClass(ShowBleActivity.this, HeightWeightScaleActivity.class);
break; break;
case BleDeviceConfig.TEMP_Humidity: case BleDeviceConfig.TEMP_Humidity:
} }




/**
* 检查设备
*
* @param scanCid 扫描cid
* @param cid cid
* @param nameAndMac 名字和mac过滤
* @return boolean
*/
private boolean isCheckDevice(int scanCid, int cid, boolean nameAndMac) { private boolean isCheckDevice(int scanCid, int cid, boolean nameAndMac) {
boolean okDevice = false; boolean okDevice = false;
if (scanCid == BleDeviceConfig.BLOOD_PRESSURE) { if (scanCid == BleDeviceConfig.BLOOD_PRESSURE) {

+ 3
- 0
app/src/main/java/aicare/net/cn/sdk/ailinksdkdemoandroid/base/MyApplication.java 파일 보기



import android.app.Application; import android.app.Application;


import com.pingwang.bluetoothlib.AILinkSDK;

public class MyApplication extends Application { public class MyApplication extends Application {


private static MyApplication sInstance; private static MyApplication sInstance;
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
sInstance = this; sInstance = this;
AILinkSDK.getInstance().init(this);
} }


public static MyApplication getInstance(){ public static MyApplication getInstance(){

Loading…
취소
저장