我正在尝试将一个文件从我的应用程序发送到另一个文件。我不想使用“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);
但这只是打开没有文件的其他应用程序。我已经尝试了几种组合并用谷歌搜索它并且没有找到任何东西。也许它不受支持。
答案 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正确...希望这会有所帮助。