Android 将文件发送到另一个应用程序

Android 将文件发送到另一个应用程序,android,android-intent,Android,Android Intent,我正在尝试将一个文件从我的应用程序发送到另一个。我不想使用“应用程序选择器”,我只想“强制”该应用程序打开我想要的文件 我试过: Uri data = Uri.fromFile( file ); PackageManager pm = getApplicationContext().getPackageManager(); Intent ic = pm.getLaunchIntentForPackage("org.ais.archidroid"); ic.setAction(Intent.ACT

我正在尝试将一个文件从我的应用程序发送到另一个。我不想使用“应用程序选择器”,我只想“强制”该应用程序打开我想要的文件

我试过:

Uri data = Uri.fromFile( file );
PackageManager pm = getApplicationContext().getPackageManager();
Intent ic = pm.getLaunchIntentForPackage("org.ais.archidroid");
ic.setAction(Intent.ACTION_SEND);
ic.setData(data);
ic.putExtra(Intent.EXTRA_STREAM, data);
startActivity(ic);

但这只会打开另一个没有文件的应用程序。我试过几种组合,在谷歌上搜索了一下,什么也没找到。可能它不受支持。

我建议尝试使用ACTION\u VIEW而不是ACTION\u SEND。大概是这样的:

Uri data = Uri.fromFile( file );
PackageManager pm = getApplicationContext().getPackageManager();
Intent ic = pm.getLaunchIntentForPackage("org.ais.archidroid");
ic.setAction(Intent.ACTION_VIEW);
ic.setData(data);
startActivity(ic);

还可以尝试设置您搜索的应用程序的启动程序活动:

Intent intent= new Intent("org.ais.archidroid.launcheractivity");
intent.setClassName("org.ais.archidroid", "launcheractivity");
intent.setData(Uri.parse(yourdata));
startActivity(intent);

但要确保你输入的packageName和className是正确的。。。希望这会有所帮助。

正如下面的答案所示,当使用另一个应用程序时,您必须知道一些实现细节,通常在清单文件中的信息(启动器活动、支持的操作)。如果您不知道此信息,则无法使用第三方应用程序。试着问问“Archdroid”的开发者。