Activer l'autorisation dans Android par l'utilisateur

Fermé
Doubleface2022 Messages postés 12 Date d'inscription mardi 13 septembre 2022 Statut Membre Dernière intervention 24 novembre 2022 - 23 nov. 2022 à 22:40
Doubleface2022 Messages postés 12 Date d'inscription mardi 13 septembre 2022 Statut Membre Dernière intervention 24 novembre 2022 - 24 nov. 2022 à 09:40

Bonjour, j'ai un souci concernant les telechargements dans mon webview Android, bref lorsque je click sur l'objet à télécharger, ceci bug et arrête l'application brutalement. Après vérification, je constate que c'est à cause d'un problème de permission au niveau du paramètre de l'application dans l'autorisation est désactivée. Lorsque j'active manuellement cela dans les paramètres du téléphone, en relançant le téléchargement, cela fonctionne parfaitement. Question : comment activer ce menu stockage automatique lors du téléchargement par l'utilisateur ? 

Voici mon code actuel ????

	@Override
			public void onDownloadStart(String url, String userAgent,
			String contentDisposition, String mimetype, long contentLength) {
		
				if(Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())){
					int pm[] = null;
				if(pm[0]==PackageManager.PERMISSION_GRANTED){
					DownloadManager storagemanager=(DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
					SharedPreferences prefs=getSharedPreferences("BusinesStore",MODE_PRIVATE);
					String uid=prefs.getString("UUID", null);
				}
			DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));
			request.allowScanningByMediaScanner();
			 String cookie = CookieManager.getInstance().getCookie(url);
			 request.addRequestHeader("Cookie", cookie);
			// Notify client once download is completed!
			request.setNotificationVisibility(
			DownloadManager.Request.VISIBILITY_VISIBLE);
			final String exportFileName = URLUtil.guessFileName(
			url, contentDisposition, mimetype);
			request.setDestinationInExternalPublicDir(
			Environment.DIRECTORY_DOWNLOADS, exportFileName);
			DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
			dm.enqueue(request);
			// This is important!
			Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
			intent.addCategory(Intent.CATEGORY_OPENABLE); // CATEGORY.OPENABLE
			intent.setType("*/*");// any application,any extension
			Toast.makeText(getApplicationContext(), "Download launched",Toast.LENGTH_LONG).show();
			}
				else{
					Toast.makeText(getApplicationContext(), "Repertoire non détécté", Toast.LENGTH_LONG).show();
				
				}
				}

Mes permissions dans le fichier manifeste

	
   <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.WRITE_SOCIAL_STREAM"/>
    <uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS"/>
    <uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>


Android / Chrome 99.0.4844.73

A voir également:

2 réponses

BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 3 894
24 nov. 2022 à 09:14

Hello,

Tu ne peux pas le faire automatiquement, tu es obligé de demander l'autorisation à l'utilisateur. Ce qui veut dire que, s'il refuse (il a le droit), tu ne dois pas utiliser la fonctionnalité.

Pour plus d'infos: https://developer.android.com/training/permissions/requesting


0
Doubleface2022 Messages postés 12 Date d'inscription mardi 13 septembre 2022 Statut Membre Dernière intervention 24 novembre 2022 1
24 nov. 2022 à 09:40

Bonjour et merci pour la réaction, justement je sais qu'il faut demander l'autorisation à l'utilisateur lors du téléchargement, mais quel code écrire pour ça ? J'ai essayé les sharePreference sans succès et RequestPermission, 

je vais consulter votre lien envoyé

0