2012-12-31 2 views
1

J'essaie de lancer le MediaPlayer à partir d'un service, et ce n'est pas wroking comme prévu. J'obtiens l'exception suivante,Android: Lancer le lecteur de musique via le service

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.MUSIC_PLAYER flg=0x10000000 } 

S'il vous plaît trouver l'extrait de code qui est invoqué dans le service,

Intent intent = new Intent(MediaStore.INTENT_ACTION_MUSIC_PLAYER); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

Android Manifest

<service android:name="com.lakshmi.shakenfun.AlertService" > 
    <intent-filter > 
     <action android:name="android.intent.action.MUSIC_PLAYER" /> 
    </intent-filter> 
</service> 

S'il vous plaît ne laissez-moi savoir, où Je fais mal.

Ma plate-forme cible est 8

Merci, Ramesh

+3

Vous ne pouvez pas démarrer 'Service' en utilisant' startActivity (intention); '. Pour démarrer un 'Service' vous utilisez' startService (...) '. – Squonk

+0

Essayez-vous de démarrer le lecteur multimédia de l'appareil? Si oui, pourquoi avez-vous l'action 'MEDIA_PLAYER' définie sur un' 'de votre propre service? En ce qui concerne l'erreur, il n'y a apparemment aucune activité sur votre appareil ou votre émulateur qui supporte cette action "Intent" particulière. – CommonsWare

+0

J'ai besoin de lancer un lecteur multimédia à partir d'un service. Je ne veux pas démarrer un service. J'ai mentionné ce lien pour lancer un lecteur multimédia de mon service, http://stackoverflow.com/questions/3114471/android-launching-music-player-using-intent Pour lancer simplement le lecteur de musique font: Intention intention = nouvelle intention (MediaStore.INTENT_ACTION_MUSIC_PLAYER); startActivity (intention); –

Répondre

1

Peut-être votre plate-forme cible de 8 est trop faible pour que api? Avez-vous ce lecteur de musique chargé? https://play.google.com/store/apps/details?id=com.google.android.music&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5nb29nbGUuYW5kcm9pZC5tdXNpYyJd

+0

Vous avez raison. Je n'ai pas ce lecteur de musique, mais après l'installation de cette application, le code ci-dessus fonctionne très bien. Mais comment lancer une application musicale sans installer cette application particulière? –

1

MediaStore.INTENT_ACTION_MUSIC_PLAYER est dépréciée de l'API 15 le nouveau code est:

try { 
    String pkgname = "com.sec.android.app.music"; 
    PackageManager pkgmanager = getPackageManager(); 
    Intent intent = pkgmanager.getLaunchIntentForPackage(pkgname); 
    startActivity(intent); 
} catch(Exception e) { 
    // music player not found 
} 

il suffit d'ajouter ce code sur votre écouteur bouton et il appellera le lecteur de musique par défaut.

Questions connexes