11
votes

Inscrivez-vous comme lecteur de musique et jouez la chanson

Je crée une application de lecteur de musique et je souhaite enregistrer l'application en tant que joueur de musique. Pour que lorsqu'un utilisateur clique sur n'importe quelle chanson pour jouer, mon application doit être suggérée comme l'un des acteurs de la musique. J'ai suivi Ce guide .

Après avoir ajouté le code nécessaire dans Manifest.xml, cela ne montre que mon application dans les suggestions. Lorsque j'ai sélectionné mon application, rien n'est joué. Je pense qu'il devrait y avoir quelque chose comme le récepteur dans l'activité principale pour recevoir le chemin média pour lire la chanson sélectionnée. Mais je ne sais pas comment implémenter cela.

J'ai ajouté le code suivant à mon manifeste.xml (pour référence): xxx


2 commentaires

Avez-vous essayé cela? Je suis sûr que c'est ce que tu veux. Stackoverflow.com/a/33783826/7094632


oui cela ne fonctionne pas


5 Réponses :


2
votes

Une fois que vous avez ajouté des fidiffilters, utilisez getintent () pour obtenir les données de celui-ci xxx

intenthandler.java xxx

si vous ne faites pas ' T Supporte la lecture de ContentProvider ou à partir du réseau Supprimer InentFilter pour "HTTP" ou "Contenu" Schéma en conséquence de AndroidManifest.xml


0 commentaires

1
votes

Avez-vous essayé ces filtres d'intention? XXX PRE>

Puis dans votre activité: P>

@Override
public void onCreate(Bundle savedInstanceState)
{   super.onCreate(savedInstanceState);

    ...

    Intent i = getIntent();
    Uri u = i.getData();
    String a = i.getAction();

    if ((u != null) && (a != null) && (a.equalsIgnoreCase("android.intent.action.VIEW")))
    {   String filename = null;

        if (i.getScheme().equalsIgnoreCase("file"))
        {   filename = u.getPath();
        }
        else if (i.getScheme().equalsIgnoreCase("content"))
        {   try
            {   String[] filepathcolumn = {MediaStore.Audio.Media.DATA};
                Cursor cursor1 = getContentResolver().query(u, filepathcolumn, null, null, null);
                cursor1.moveToFirst();
                int columnindex1 = cursor1.getColumnIndex(filepathcolumn[0]);
                filename = cursor1.getString(columnindex1);
                cursor1.close();
            }
            catch (Exception e)
            {   e.printStackTrace();
            }
        }

        if (filename != null)
        {   ...
        }
    }


0 commentaires

0
votes

Je pense que vous ne définissez que le lecteur de musique par défaut lorsque la chanson est sélectionnée. dans le fichier manifeste et écrivez également le code de service qui exécute dans le Fil principal pour jouer à la chanson.


0 commentaires

0
votes

Essayez d'utiliser le code ci-dessous

 <intent-filter>
                <action android:name="android.intent.action.VIEW"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <data android:scheme="file" android:mimeType="audio/*" />
     </intent-filter>


0 commentaires

0
votes
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:scheme="file"/>
            <data android:mimeType="audio/*"/>
            <data android:mimeType="application/ogg"/>
            <data android:mimeType="application/x-ogg"/>
            <data android:mimeType="application/itunes"/>
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="http" />
            <data android:mimeType="audio/*"/>
            <data android:mimeType="application/ogg"/>
            <data android:mimeType="application/x-ogg"/>
            <data android:mimeType="application/itunes"/>
        </intent-filter>
        <intent-filter
            android:priority="-1">
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data android:scheme="content" />
            <data android:mimeType="audio/*"/>
            <data android:mimeType="application/ogg"/>
            <data android:mimeType="application/x-ogg"/>
            <data android:mimeType="application/itunes"/>
        </intent-filter>

0 commentaires