L'application de la plate-forme Android uniapp dispose des autorisations nécessaires pour lire et écrire sur le stockage du téléphone mobile, accéder aux informations sur l'appareil (telles que IMEI), etc. lors de son démarrage.

Aujourd'hui, j'ai reçu une application écrite par uniapp. Le client a demandé que l'utilisateur ne puisse pas demander l'autorisation de lecture sur la page de chargement de l'application. Lorsque cette autorisation est nécessaire, demandez à ouvrir le fichier manifest.json, passez à l'élément "Affichage du code source"
.
dans "app-plus" -> "distribute" -> Ajoutez le nœud permissionExternalStorage sous le nœud "android"

"permissionExternalStorage": {
    
      
        "request": "none",  
        "prompt": "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"  
     }

Cette invite peut être configurée dans manifest.json .
HBuilder L'application s'applique à chaque démarrage et l'utilisateur doit l'autoriser. Lorsque l'utilisateur refuse, la boîte d'invite suivante apparaîtra pour guider l'utilisateur afin de l'autoriser à nouveau.





Après n'en avoir configuré aucune, certaines fonctions nécessitent des autorisations de stockage sur le téléphone mobile et des autorisations d'accès aux informations sur l'appareil. Vous pouvez également demander activement des autorisations en appelant requestPermissions (ouvre une nouvelle fenêtre) pour prendre en charge la logique métier ultérieure.

			jurisdiction() {
    
     // 获取用户授权函数
				var _this = this
				plus.android.requestPermissions(['android.permission.WRITE_EXTERNAL_STORAGE'], function(e) {
    
    
					if (e.deniedAlways.length > 0) {
    
     //权限被永久拒绝
						// 弹出提示框解释为何需要读写手机储存权限,引导用户打开设置页面开启
						console.log('Always Denied!!! ' + e.deniedAlways.toString());
					}
					if (e.deniedPresent.length > 0) {
    
     //权限被临时拒绝
						// 弹出提示框解释为何需要读写手机储存权限,可再次调用plus.android.requestPermissions申请权限
						plus.android.requestPermissions(['android.permission.WRITE_EXTERNAL_STORAGE'])
						console.log('Present Denied!!! ' + e.deniedPresent.toString());
					}
					if (e.granted.length > 0) {
    
     //权限被允许
						//调用依赖获取读写手机储存权限的代码
						_this.upload() // 获取权限成功之后调用的函数
						console.log('Granted!!! ' + e.granted.toString());
					}
				}, function(e) {
    
    
					console.log('Request Permissions error:' + JSON.stringify(e));
				});
			},

Android.permission.READ_EXTERNAL_STORAGE et android.permission.WRITE_EXTERNAL_STORAGE
autorisent la lecture et l'écriture de la carte SD. L'invite d'autorisation du système n'accède pas aux photos, au contenu multimédia et aux fichiers sur l'appareil. Vous pouvez vous référer à ici pour configurer la lecture et l'écriture du téléphone mobile. politique de stockage au démarrage de l'application.

Résumé : Les applications répertoriées sur les étagères ne peuvent pas demander directement aux utilisateurs les autorisations de stockage en lecture. Il faut demander aux utilisateurs quand les autorisations de stockage sont utilisées. J'ai désactivé les autorisations d'application intégrées lors de l'accès à l'application pour la première fois et j'ai ajusté les fonctions avant téléchargement d'images et téléchargement d'images. Demandez une autorisation d'accès au stockage si l'utilisateur accepte de télécharger des images, de télécharger des images, etc.

おすすめ

転載: blog.csdn.net/qq_47247479/article/details/126628914