拜托,祝你有个美好的一天.
我正在为有缺陷的人开发一种电子白手杖;我想通过使用蓝牙向我的Android设备发送一些信号.
我的问题是我不知道如何避免与蓝牙激活相关的所有权限.我的朋友(盲人)已经使用智能手机,所以我的应用程序需要的是为受损人士提供支持,之后他们可以轻松地使用该应用程序.
鉴于此,我需要知道如何在后台激活蓝牙,而设备不会抛出确认消息.此外,我需要知道,我如何将我的应用程序转换为一个小部件,以便它可以继续执行,同时他们可以使用其他东西?
有谁知道如何以这种方式管理蓝牙?有人能告诉我在哪里可以找到这种信息吗?因为我在Android开发者中找不到任何东西.
非常感谢你.
(编辑)
我用这个,谢谢!
if(mBluetoothAdapter.isEnabled())
{
Toast.makeText(getBaseContext(), "Bluetooth already turned On.", Toast.LENGTH_LONG).show();
label_bt_state.setText(getResources().getString(R.string.labelB_BT_ON));
//If it isn't connected we can start searching the whiteCane.
if(isConnected==0)
{
label_con_state.setText(getResources().getString(R.string.labelB_CON_OFF));
if(wasFound==0)
{
btn_connect.setEnabled(true);
}
}else
{
label_con_state.setText(getResources().getString(R.string.labelB_CON_ON));
btn_connect.setEnabled(false);
}
}
else
{
//If it's disable I'll turn it on
Toast.makeText(getBaseContext(), "Bluetooth is disable.\n\tTurning on...", Toast.LENGTH_SHORT).show();
new CountDownTimer(2000, 200)
{
public void onTick(long millisUntilFinished) {
//Each 200mS will blink (5 times)
label_bt_state.setText(getResources().getString(R.string.labelB_BT_OFF));
label_con_state.setText(getResources().getString(R.string.labelB_BT_CON_LOAD));
btn_connect.setEnabled(false);
/*
* Radio Button disable
*/
cb_xz.setEnabled(false);
cb_yz.setEnabled(false);
cb_xy.setEnabled(false);
cb_d.setEnabled(false);
}
public void onFinish() {
mBluetoothAdapter.enable();
Toast.makeText(getBaseContext(), "Bluetooth enabled!", Toast.LENGTH_LONG).show();
label_bt_state.setText(getResources().getString(R.string.labelB_BT_ON));
label_con_state.setText(getResources().getString(R.string.labelB_CON_OFF));
btn_connect.setEnabled(true);
/*
* Radio Button enable
*/
cb_xz.setEnabled(true);
cb_yz.setEnabled(true);
cb_xy.setEnabled(true);
cb_d.setEnabled(true);
}
}.start();//End CountDownTimer
解决方法:
BluetoothAdapter.enable(),您可以使用此方法启用蓝牙而无需对话.正如文档建议“打开本地蓝牙适配器 – 不使用没有明确的用户操作打开蓝牙”.