方案1
fun shareMyApp() {
var context = AnguoUtils.getContext()
val f = File(context.packageResourcePath)
LogUtils.e(context.packageResourcePath + "context.getPackageResourcePath()")
//调用android分享窗口
val intent = Intent()
intent.action = Intent.ACTION_SEND
intent.type = "*/*"
val photoUri: Uri = FileProvider.getUriForFile(
context, context.getPackageName().toString() + ".fileprovider",
f)
intent.putExtra(Intent.EXTRA_STREAM, photoUri)
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
context.startActivity(intent)
}
步骤二:创建filepaths.xml文件
<?xml version="1.0" encoding="utf-8"?>
<paths>
<external-path
name="external_path"
path="." />
</paths>
需要配置清单文件
<provider
//这里是自己应用的包名
android:authorities="${applicationId}.fileprovider"
android:name="android.support.v4.content.FileProvider"
android:grantUriPermissions="true"
android:exported="false">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
//在res中建立一个xml文件夹,在文件夹中创建filepaths.xml文件
android:resource="@xml/filepaths"/>
</provider>
// ApplicationInfo app = context.getApplicationInfo();
// String filePath = app.sourceDir;
//
// Intent intent = new Intent(Intent.ACTION_SEND);
// intent.setType("*/*");
//
// intent.setPackage("com.android.bluetooth");
//
// intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(new File(filePath)));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// Intent chooser = Intent.createChooser(intent, "Share app");
// chooser.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// context.startActivity(chooser);