我正在尝试在我的android模拟器(2.3.3)上创建一个pdf开启器,但每次运行时它都会返回一个Activitynotfound异常。我检查了包名和类名,这是正确的。我在Android开发方面也很新。这是代码!
公共类PdfViewerActivity扩展了Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView tv = new TextView(this);
File file = new File("mnt/sdcard/proposal.pdf");
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri path2 = Uri.fromFile(file);
intent.setDataAndType(path2, "application/pdf");
try
{
startActivity(intent);
}
catch(ActivityNotFoundException e )
{
tv.setText("What the hell is going on O_O" + "\n" + e);
setContentView(tv);
}
}
}
==========
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".PdfViewerActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
答案 0 :(得分:1)
手机上没有安装PDF查看器应用程序。这就是为什么这里的启动活动代码失败了。 PDF开启者究竟是什么意思?
答案 1 :(得分:0)
当您启动 ACTION_VIEW 的意图时,您是否有一个“捕获”它的活动?
答案 2 :(得分:0)
您正在使用模拟器读取PDf,而您阅读PDF的方式是Intent.ACTION_VIEW
为此,您需要在模拟器中安装一个Pdf读取应用程序。
如果您想阅读Pdf,还可以通过其他方式阅读
Android - Load PDF / PDF Viewer
您也可以制作自己的PDF查看器