2010-06-24 4 views
33

Ist es möglich, die Musik-App von meiner App auf Android zu öffnen, oder ist es am besten, eine ganz neue Musik-App in meinem zu schreiben. Ich würde sie lieber verwenden, da der Benutzer sich damit schon auskennen wird.Android startet Musik-Player mit Absicht

Antwort

79

Ich habe einen Weg gefunden, dies zu tun.

Intent intent = new Intent(); 
intent.setAction(android.content.Intent.ACTION_VIEW); 
File file = new File(YOUR_SONG_URI); 
intent.setDataAndType(Uri.fromFile(file), "audio/*"); 
startActivity(intent); 
+0

wirkt wie ein Zauber :) – Calvin

+0

Wie den Media-Player überprüfen App ist availbe oder nicht auf dem Gerät ist –

+0

Dieser nicht auf dem Nexus 6 funktioniert (öffnet in Fotos app) – nbarraille

19

Um einfach den Musik-Player zu starten tun:

Intent intent = new Intent(MediaStore.INTENT_ACTION_MUSIC_PLAYER); 
startActivity(intent); 
+1

Bitte beachten Sie, dass dies nur in SDK API Level 8 funktioniert. – grzaks

+0

PLZ werden Sie mir sagen, was alles nach dem Schreiben der oben genannten Code von dir getan werden sollte.Ihre Hilfe wird wirklich vorteilhaft für mich und andere –

+4

Beachten Sie, dass diese Aktion zugunsten von CATEGORY_APP_MUSIC veraltet wurde –

0

Sie können auch versuchen diese.

Intent intent = new Intent(MediaStore.INTENT_ACTION_MUSIC_PLAYER); 
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 
2
  if (Build.VERSION.SDK_INT >= 24) { 
       try { 
        Method m = StrictMode.class.getMethod("disableDeathOnFileUriExposure"); 
        m.invoke(null); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
      } 
      Intent intent = new Intent(); 
      intent.setAction(android.content.Intent.ACTION_VIEW); 
      File file = new File(YOUR_SONG_URI); 
      intent.setDataAndType(Uri.fromFile(file), "audio/*"); 
      startActivity(intent); 
0

Es gibt eine Reihe von Art und Weise, mit denen Sie Standard-Audio-Player erreichen können, aber das ist Gerät und OS spezifisch.

Mit diesem Code-Snippet können Sie Standard-Audio-Player erhalten.

try 
    { 
    Intent myIntent = new Intent(android.content.Intent.ACTION_VIEW); 
    File file = new File("audiofilepath"); 
    String extension = android.webkit.MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(file).toString()); 
    String mimetype = android.webkit.MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); 
    myIntent.setDataAndType(Uri.fromFile(file),mimetype); 
    startActivity(myIntent); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    }