【问题标题】:Android is app still showing Bluetooth connect permission dialogAndroid是应用程序仍然显示蓝牙连接权限对话框
【发布时间】:2022-07-23 01:26:12
【问题描述】:

我在一个应用程序中摆弄 Java 中的蓝牙连接,完成后,我从 Android 清单中删除了所有初始化代码和权限。然而,每次我启动应用程序时,它都会显示:

我的清单不包含蓝牙权限,并且我的代码没有引用,我已经删除了所有与之关联的文件。我想知道为什么会这样。此外,也许更奇怪的是,这只发生在我测试蓝牙连接的一台物理设备上。即使从 Android Studio 运行,所有其他物理设备也不会显示此对话框。该对话框在 MainActivity 加载之前显示,然后立即使应用程序崩溃。这是我的清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" >

    <application
        android:allowBackup="true"
        android:icon="@mipmap/app_icon_large_foreground"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/Theme.AppCompat.Light.DarkActionBar" >
        
        </activity>
        <activity
            android:name=".splashScreen"
            android:exported="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        
        
        <activity
            android:name=".settings_activity"
            android:label="Settings"
            android:parentActivityName=".MainActivity" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainActivity" />
        </activity>
        <activity
            android:name=".secondActivity"
            android:label="SecondActivity"
            android:parentActivityName=".MainActivity"
            android:screenOrientation="portrait" >
            <meta-data
                android:name="android.support.PARENT_ACTIVITY"
                android:value=".MainActivity" />
        </activity>
        <activity
            android:name=".MainActivity"
            android:label="MyApp"
            android:windowSoftInputMode="stateAlwaysHidden" />
    </application>

</manifest>

在我的任何代码中都没有提到蓝牙!为什么这个对话框不断出现?它与应用程序的权限缓存有关吗?除了我已经卸载并重置了应用程序缓存,它在应用程序的应用程序权限中显示“无权限”。

这不是一个问题,而是一个好奇心,但如果我将应用发布到 Google Play 并且用户必须处理这个盒子,这无疑是一件麻烦事...:/

【问题讨论】:

  • 你也应该删除代码中的权限请求

标签: android bluetooth


【解决方案1】:

你必须在你的项目中寻找这样的东西:

if (ContextCompat.checkSelfPermission(requestingActivity,
                permission) != PackageManager.PERMISSION_GRANTED) {
            if (!ActivityCompat.shouldShowRequestPermissionRationale(
                    requestingActivity, permission)) {
                ActivityCompat.requestPermissions(requestingActivity,
                        new String[] { permission }, requestCode);
            }
        }

打开此权限对话框。因此,如果您不想看到它,请删除此权限请求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 2018-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-15
    • 1970-01-01
    相关资源
    最近更新 更多