0

我正在尝试使用以下方式与其他应用程序(例如 Telegram、Whatapp 等)共享文件:

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_STREAM, uri);
sendIntent.setType("text/plain");
startActivity(sendIntent);

如果 uri 来自 ACTION_GET_CONTENT 活动,它就可以工作。但是我只有一个要共享的文件的路径,如果我设置:

uri = Uri.fromFile(new File(path))

一切似乎都很好,但文件没有在最后一步发送。

如何从文件路径中获取有效的 uri?

4

1 回答 1

0

希望此代码对您有所帮助!

 ApplicationInfo api = getApplicationContext().getApplicationInfo();
                    String apkPath = api.sourceDir;
                    Intent share = new Intent(Intent.ACTION_SEND);
                    share.setType("application/vnd.android.package-archive");
                    share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(apkPath)));
                    startActivity(Intent.createChooser(share, "Share Via"));
于 2021-02-17T08:10:37.743 回答