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> |
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 { |
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) { |
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(){ |