Android 安装时未请求权限
Android permissions not requested on installation
我在此处发帖之前搜索过类似的问题,但没有找到解决我问题的答案。
我的 manifest.xml 文件似乎是正确的,我希望要求用户提供安装权限(不是运行时,它已经适用于我的代码)。我不知道为什么我输入的参数不起作用:
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:name="VILES" android:versionCode="1" android:versionName="0.0.1" package="fr.nc.delegue.referendum" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:usesCleartextTraffic="true">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" />
<uses-permission android:name="android.permission.RECEIVE_MMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
</manifest>
我使用 Cordova(和 Quasar)构建我的应用程序,该应用程序运行良好,但我仍然遇到安装时未请求权限的问题...
任何人都可以告诉我我在这里做错了什么吗?
提前致谢:)
你没有做错任何事,只是期待一些不再可用的东西。 targetSdkVersion
为 23
或更高的应用程序完全依靠运行时权限运行——无法强制 Play 商店或 Android 在安装时提示用户获得权限。而且您不能使用旧的 targetSdkVersion
.
在 Play 商店(以及其他一些分发渠道)上分发您的应用程序
在创建方法的主 activity 中添加它。
/*all permision need for this app*/
int PERMISSION_ALL = 1;
String[] PERMISSIONS = {
Manifest.permission.READ_EXTERNAL_STORAGE,
};
/*check if the there is permission that is needed*/
if (!hasPermissions(this, PERMISSIONS)) {
ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL);
}
您可以在请求许可时尝试添加启动画面Activity(第一个屏幕)。
当用户第一次安装应用程序时,他会看到一个屏幕,比方说设置屏幕或介绍屏幕,他将被要求获得许可。之后你将设置一个 属性 并且不会再显示此屏幕。
我在此处发帖之前搜索过类似的问题,但没有找到解决我问题的答案。 我的 manifest.xml 文件似乎是正确的,我希望要求用户提供安装权限(不是运行时,它已经适用于我的代码)。我不知道为什么我输入的参数不起作用:
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:name="VILES" android:versionCode="1" android:versionName="0.0.1" package="fr.nc.delegue.referendum" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:usesCleartextTraffic="true">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|smallestScreenSize|screenLayout|uiMode" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="@string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-feature android:name="android.hardware.telephony" android:required="false" />
<uses-permission android:name="android.permission.RECEIVE_WAP_PUSH" />
<uses-permission android:name="android.permission.RECEIVE_MMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
</manifest>
我使用 Cordova(和 Quasar)构建我的应用程序,该应用程序运行良好,但我仍然遇到安装时未请求权限的问题... 任何人都可以告诉我我在这里做错了什么吗? 提前致谢:)
你没有做错任何事,只是期待一些不再可用的东西。 targetSdkVersion
为 23
或更高的应用程序完全依靠运行时权限运行——无法强制 Play 商店或 Android 在安装时提示用户获得权限。而且您不能使用旧的 targetSdkVersion
.
在创建方法的主 activity 中添加它。
/*all permision need for this app*/
int PERMISSION_ALL = 1;
String[] PERMISSIONS = {
Manifest.permission.READ_EXTERNAL_STORAGE,
};
/*check if the there is permission that is needed*/
if (!hasPermissions(this, PERMISSIONS)) {
ActivityCompat.requestPermissions(this, PERMISSIONS, PERMISSION_ALL);
}
您可以在请求许可时尝试添加启动画面Activity(第一个屏幕)。 当用户第一次安装应用程序时,他会看到一个屏幕,比方说设置屏幕或介绍屏幕,他将被要求获得许可。之后你将设置一个 属性 并且不会再显示此屏幕。