我知道如何在Android中加载PDF文件。但如果安装了多个PDF查看器,Android会显示一个可供选择的列表。我想用特定的PDF查看器(比如DroidReader)加载我的PDF文件。怎么做?
答案 0 :(得分:2)
我强烈建议不要在Intent中指定显式的类名作为接受的答案建议,因为这是应用程序的实现细节,可随时更改。
相反,像普通一样构建你的Intent,但是使用Intent.setPackage()来指定系统应该只查看所需应用程序的包名称以进行匹配活动。那就是:
Intent intent = new Intent(Intent.ACTION_VIEW, uriToView);
intent.setPackage("com.package.name.of.droidreader");
startActivity(intent)
答案 1 :(得分:1)
然后指定活动的完整名称:
Intent intent = new Intent();
ComponentName comp = new ComponentName("com.package.name.of.droidreader", "com.package.name.of.droidreader.DroidReader");
intent.setComponent(comp);
startActivity(intent);
要知道包名称和活动是什么,您可以查看adb logcat
输出:当您打开活动时,它会被记录在那里。当然,正确配置意图,以便DroidReader知道要打开的文件。
最后,但重要的是,您应该使用startActivity
阻止try-catch
的{{1}}方法围绕ActivityNotFoundException
方法(我确信大多数手机都没有该特定应用)。