2

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

我试过了:

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);

但这只会打开没有该文件的其他应用程序。我尝试了几种组合并用谷歌搜索并没有找到任何东西。也许它不受支持。

4

2 回答 2

0

我建议尝试 ACTION_VIEW 而不是 ACTION_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);
于 2012-11-09T22:44:52.233 回答
0

尝试设置您寻找的应用程序的启动器活动:

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

但是请确保您输入了它的 packageName 和 className 正确...希望这会有所帮助。

于 2012-11-09T22:51:24.807 回答