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. P>
J'ai ajouté le code suivant à mon manifeste.xml (pour référence): p>
5 Réponses :
Une fois que vous avez ajouté des fidiffilters, utilisez getintent () pour obtenir les données de celui-ci intenthandler.java p> 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 P> P>
Avez-vous essayé ces filtres d'intention? 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)
{ ...
}
}
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. P> blockQuote>
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>
<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>
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