Android 自定义权限失败(基于应用安装顺序)
我的应用在 Google Play 上出现问题。我有一个利用自定义权限的免费应用程序。此权限允许访问付费应用。这些付费应用程序充当“钥匙”并解锁免费应用程序中的功能。基本上,免费应用程序将尝试启动其中一个付费应用程序的意图。付费应用程序将做一些事情并返回,说明免费应用程序是否应该解锁功能。
根据应用程序安装的顺序出现问题。如果先安装免费应用,然后再安装付费应用,则免费应用无法启动意向。返回权限拒绝。如果先安装付费应用,那么免费应用,免费应用可以启动意向没问题。重新启动设备和/或强制停止应用程序并不能解决问题。我正在附加相关代码。有些东西告诉我,我做错了什么。
-
免费应用程序清单(相关代码):
... <uses-permission android:name="com.company.license.PERMISSION" /> ...
-
用于检查意图的免费应用程序代码(相关代码):
Intent KeyApp = new Intent("com.company.license.action.AUTH_1"); KeyApp.putExtra("com.company.license.challenge", 1); //If free app is installed first, an exception is thrown for not having the proper permission. If paid app is installed first, no exception is thrown try { startActivityForResult(KeyApp, COMMING_FROM_KEYAPP); } catch (Exception e) { cancelStartUp(); }
-
付费应用清单(相关代码):
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.company.installer.1" ... <permission android:name="com.company.license.PERMISSION" android:icon="@drawable/icon" android:label="@string/app_name" android:protectionLevel="normal" > </permission> <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoDisplay" > <activity android:name="com.company.license.auth" android:configChanges="keyboardHidden|orientation" android:exported="true" android:permission="com.company.license.PERMISSION" android:theme="@style/Theme.Transparent" > <intent-filter> <action android:name="com.company.license.action.AUTH_1" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> <activity android:name="com.company.installer.redirect" android:configChanges="keyboardHidden|orientation" android:exported="true" android:theme="@style/Theme.Transparent" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>