val file = File(context.getExternalFilesDir(Environment.DIRECTORY_MUSIC), "example.mp3") val uri = FileProvider.getUriForFile(context, "com.example.myapp.fileprovider", file) val shareIntent = Intent(Intent.ACTION_SEND) shareIntent.type = "audio/mp3" shareIntent.putExtra(Intent.EXTRA_STREAM, uri) shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) startActivity(Intent.createChooser(shareIntent, "分享mp3文件"))
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_receive)
if (intent.action == Intent.ACTION_SEND && intent.type == "audio/mp3") {
val uri = intent.getParcelableExtra(Intent.EXTRA_STREAM)
val file = getFile(uri)
if (file != null) {
// 处理文件
}
}
}
private fun getFile(uri: Uri): File? { try { val inputStream = contentResolver.openInputStream(uri) val file = File(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS), "example.mp3") val outputStream = FileOutputStream(file) inputStream?.copyTo(outputStream)