提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
``
最近学习flutter,自己写了一个音乐播放器,打开手机中的MP3格式的文件时,选择播放器,将文件复制到应用目录。
提示:以下是本篇文章正文内容,下面案例可供参考
一、修改AndroidManifest.xml文件
这一步的作用是打开MP3文件时,播放器会加入到系统的打开方式列表中,在AndroidManifest.xml中加入以下内容。
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="audio/x-mpeg" />
</intent-filter>
如图
二、修改MainActivity.java
这一步是在原生代码中获取Intent,然后传递给flutter。
如果是MainActivity.kt,则需重新生成MainActivity.java文件。参考:flutter create -a java projectname
代码如下():
package com.example.demo1;
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugin.common.MethodChannel;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import com.google.mlkit.common.sdkinternal.CommonUtils;
public class MainActivity extends FlutterActivity {
private static final String CHANNEL = "samples.flutter.dev/battery";//定义通道,要和flutter中的一致
//原生和flutter通讯
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
super.configureFlutterEngine(flutterEngine);
new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL)
.setMethodCallHandler(
(call, result) -> {
if (call.method