蓝牙权限请求对话框 - 在屏幕旋转时重新创建(方向更改)

时间:2016-08-03 09:18:15

标签: android bluetooth android-alertdialog device-orientation

我已使用以下代码启用蓝牙(as described here),并在我的应用的启动器活动的onCreate()中运行相同的内容 -

Intent enableIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableIntent, 101);

现在问题是当弹出这个对话框时,每次我旋转设备时,都会在之前创建的对话框上再次创建对话框。

我阻止我的活动通过从清单

处理来重新创建
android:configChanges="orientation|screenSize|keyboardHidden"

这不会发生在所有设备中 我正在接受这个: LG Nexus 5,三星Galaxy Grand

而不是: 三星I9500 Galaxy S4

编辑: 找到此报告问题,但无法找到解决方案 Here is the link

创建了另一个问题Here

2 个答案:

答案 0 :(得分:1)

似乎这个bug从来没有解决过!!
我已经在包括最新Pixel device在内的多种设备上对此进行了测试,但仍然存在 在code.google.com/p/android上已经多次提出过同样的问题。

提到的问题:
Issue 60002: Bluetooth permission request dialog

Issue 219105 On each rotation, dialog for requesting user permission to enable Bluetooth, the request dialog is placed on the top of the stack

Issue 24931: Bluetooth permission request dialog - recreated on screen rotation(orientation change)


如果有人找到解决方案,请在此处发布

答案 1 :(得分:0)

当我们轮换设备时,其配置更改方法是调用活动。 您只需在android:configChanges="orientation"

中的activity元素中添加AndroidManifest.xml即可
<activity
            android:name=".MainActivty"
            android:configChanges="orientation"
            android:label="@string/app_name"></activity>

我希望它能帮助你解决问题