IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mobiles Discussion :

Media Scanner pour Android [PhoneGap]


Sujet :

Mobiles

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Media Scanner pour Android
    Bonjour à tous,

    Je développe actuellement une application hybride avec Cordova, (pas PhoneGap mais la base est la même), et je suis amené à télécharger un fichier .mp3.

    Je procède au téléchargement et à l'enregistrement du fichier dans la mémoire du téléphone sans problème, mais le média n'apparait pas dans les lecteurs de musique. J'ai recherché le problème et j'ai trouvé qu'il fallait donc lancer un "Media Scan" pour que le fichier mp3 soit détecter par les lecteurs.

    J'ai donc créé le plugin suivant, grâce à tout ce que j'ai pu trouver sur internet:

    Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    public class MediaScanner extends CordovaPlugin {
     
    	public boolean execute(final String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
    		Log.i("Call", "execute() ==> action=" + action);
     
    		if(action.equals("mediaScanner")) {
    			Log.i("Call", "OK, on tente un scan...");
     
    			try {
    				Log.i("Call", "On entre dans le try...");
    				String absolutePath = args.getString(0);		//_Get the path of the media to scan
     
    				return this.mediaScanner(absolutePath, callbackContext);
    			} catch (JSONException e) {
    				Log.i("Call", "OOPS ! On est dans le catch !");
    		        e.printStackTrace();
    		        callbackContext.error(e.getMessage());
    		        return false;
    			}
    		} else {
    			Log.i("Call", "On sort...");
    			return false;
    		}
    	}
     
    	private boolean mediaScanner(String mediaPath, CallbackContext callback) {
    		Log.i("Call", "mediaScanner()");
    		Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
     
    		Uri contentUri = Uri.parse(mediaPath.toString());
    		mediaScanIntent.setData(contentUri);
    		this.cordova.getActivity().sendBroadcast(mediaScanIntent);
     
    		return true;
    	}
    }

    Voici mon AndroidManifest.xml
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?xml version='1.0' encoding='utf-8'?>
    <manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" package="com.pandazaur.musicddd" 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" />
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name" android:supportsRtl="true">
            <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.Black.NoTitleBar" 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>
                <intent-filter>
                    <action android:name="android.intent.action.MEDIA_MOUNTED" />
                    <action android:name="android.intent.action.ACTION_MEDIA_SCANNER_SCAN_FILE" />
                    <data android:scheme="file" />
                </intent-filter>
            </activity>
        </application>
        <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="22" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    </manifest>

    Sauf que j'ai l'impression que ca ne lance pas le scan. Sachant, que j'accède bien a la méthode "mediaScanner()" Sauriez-vous me dire quel est le problème ? SVP
    Merci d'avance.

    Cordialement.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 36
    Points : 42
    Points
    42
    Par défaut
    Salut,

    as-tu ajouté la partie JavaScript pour ton plugin? Il y a ce post qui donne une solution (mais j'ai l'impression que tu l'as suivi)

    Il y aussi ce plugin mais il est prévu pour Cordova v3.x. Mais ça me semble une bonne source d'inspiration

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Je te remercie, j'ai pu faire un plugin qui utilise une manière différente de faire.
    Elle marche, je vais la publier sur GitHub pour les personnes qui voudrait l'utiliser.

    Je posterai le lien GitHub quand il sera en ligne.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 36
    Points : 42
    Points
    42
    Par défaut
    Super sympa de poster ton plugin! C'est pour Cordova 5.x?

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Et bien actuellement il marche sur Cordova 5.4, pour les terminaux Android 6.0 et 5.X.

    Je n'ai pas encore pu tester sur les autres versions d'Android. Je dois faire encore quelques tests et ensuite elle sera disponible pour tous

    EDIT: Voici le lien github vers le scanner: https://github.com/Pandazaur/cordova...d-mediascanner

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. antivirus web scanner pour Gmail ?
    Par karami dans le forum Sécurité
    Réponses: 5
    Dernier message: 08/01/2007, 18h22
  2. Réparer windows media player pour lecture drm
    Par Michaël dans le forum Windows XP
    Réponses: 6
    Dernier message: 02/12/2006, 17h34
  3. comment utiliser Scanner pour parser un String?
    Par ricardvince dans le forum Langage
    Réponses: 4
    Dernier message: 03/10/2006, 15h15
  4. Scanner pour graphisme
    Par reggae dans le forum Périphériques
    Réponses: 2
    Dernier message: 05/08/2006, 00h02
  5. [Image]Lancer l'api du scanner pour uploader une image ?
    Par mikemead dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 30/03/2006, 21h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo