相关疑难解决方法(0)

如何在没有用户确认的情况下以编程方式设置可发现时间?

我经常使用这个

private void ensureDiscoverable() {
    if(D) Log.d(TAG, "ensure discoverable");
    if (mBluetoothAdapter.getScanMode() !=
            BluetoothAdapter.SCAN_MODE_CONNECTABLE_DISCOVERABLE) {
        Intent discoverableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_DISCOVERABLE);
        discoverableIntent.putExtra(BluetoothAdapter.EXTRA_DISCOVERABLE_DURATION, 300);
        startActivity(discoverableIntent);
    }
}
Run Code Online (Sandbox Code Playgroud)

但这会提示用户确认.有没有办法以编程方式绕过这个?

另外,我认为"永远可发现的模式 " 上没有"新闻"?

java android bluetooth

7
推荐指数
1
解决办法
1万
查看次数

在Android中没有提示的蓝牙发现

我可以使用以下代码在没有任何提示的情况下打开/关闭蓝牙.它需要BLUETOOTHBLUETOOTH_ADMIN权限.

boolean isEnabled = bluetoothAdapter.isEnabled();
if (enable && !isEnabled) {
    return bluetoothAdapter.enable();
} else if (!enable && isEnabled) {
    return bluetoothAdapter.disable();
}
Run Code Online (Sandbox Code Playgroud)

但没有找到任何方法可以在没有用户提示的情况下设置蓝牙.每次都向用户提示它.我害怕没有"不要再问我"的功能了.有没有什么好方法可以让蓝牙设备被发现?我不关心持续时间.我的设备也没有扎根.

更多信息

我找到了BluetoothAdapter.java的源代码,它有一个名为的公共方法setDiscoverableDuration.但为什么我无法访问它?为什么在Api文档中隐藏了一些公共方法?他们是怎么做到的?所有方法都是公开的.

android bluetooth

3
推荐指数
1
解决办法
1626
查看次数

标签 统计

android ×2

bluetooth ×2

java ×1