Android使用intent启动音乐播放器
是否可以在android中从我的应用程序中打开音乐应用程序,或者最好在我的应用程序中编写一个全新的音乐应用程序。我宁愿使用他们的,因为用户已经习惯了。我找到了一种方法Android使用intent启动音乐播放器,android,Android,是否可以在android中从我的应用程序中打开音乐应用程序,或者最好在我的应用程序中编写一个全新的音乐应用程序。我宁愿使用他们的,因为用户已经习惯了。我找到了一种方法 Intent intent = new Intent(); intent.setAction(android.content.Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse(YOUR_SONG_PATH), "audio/*"); startActivity(i
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(YOUR_SONG_PATH), "audio/*");
startActivity(intent);
要启动音乐播放器,请执行以下操作:
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(YOUR_SONG_PATH), "audio/*");
startActivity(intent);
Intent intent = new Intent(MediaStore.INTENT_ACTION_MUSIC_PLAYER);
startActivity(intent);
你也可以试试这个
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(YOUR_SONG_PATH), "audio/*");
startActivity(intent);
Intent intent = new Intent(MediaStore.INTENT_ACTION_MUSIC_PLAYER);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
有很多方法可以实现默认的音频播放器,但这些都是特定于设备和操作系统的
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(YOUR_SONG_PATH), "audio/*");
startActivity(intent);
使用此代码段,您可以获得默认的音频播放器
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(YOUR_SONG_PATH), "audio/*");
startActivity(intent);
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();
}
这适用于较旧版本,并且由于最新版本中的安全更新,您可能会遇到FileUriExposed异常。 要避免这种情况,请使用以下代码
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(YOUR_SONG_PATH), "audio/*");
startActivity(intent);
try{
File file = new File(filepath);
String mimeType = "audio/*";
Uri fileURI = FileProvider.getUriForFile(
getApplicationContext(),
getApplicationContext()
.getPackageName() + ".provider", file);
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(fileURI, mimeType);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent);
}catch (Exception e){
Log.e(TAG,"-------------------------------------------------------FAILED TO PLAY SONG "+e);
}
在AndroidManifest.xml中添加以下内容
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(YOUR_SONG_PATH), "audio/*");
startActivity(intent);
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/provider_paths" />
</provider>
在res/xml/
Intent intent = new Intent();
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse(YOUR_SONG_PATH), "audio/*");
startActivity(intent);
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<external-path
name="external_files"
path="."/>
</paths>
请告诉我在编写您的上述代码之后应该做些什么。您的帮助对我和其他人都是非常有益的。注意,此操作已被否决,取而代之的是CATEGORY\u APP\u MUSICMediaStore。INTENT\u action\u MUSIC\u PLAYER已被否决!!此答案现在已过时,因为此操作已被弃用。按照以下步骤学习如何使用Intent.CATEGORY\u APP\u MUSIC。如何检查媒体播放器应用程序是否在设备上可用这在Nexus 6上不起作用(在照片应用程序中打开)@nbarraille try audio/mp3而不是音频/*当我尝试这个Android Studio时,会说startActivity()
需要上下文而不是意图。我的compileSdkVersion
和targetSdkVersion
是28。@但我看不到这样的方法startActivity(getContext(),intent,null)存在此API现在已过时。