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

时间:2012-11-09 21:57:11

标签: android android-intent

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

我试过了:

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

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

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

尝试同时设置您寻找的应用的启动器活动:

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

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