2014-07-16 40 views
0

我有一个库项目,它是MUPDF渲染库。我正在使用我的OPENER项目,要求图书馆项目显示PDF。就像这样:NullPointer打开pdf时出现异常(MUPDF Android)

String s= Environment.getExternalStorageDirectory().getAbsolutePath().toString()+"/Download/Adobe Reader/Getting Started with Adobe Reader.pdf"; 
Uri uri = Uri.parse(s); 

Intent intent = new Intent(getBaseContext(), MuPDFActivity.class); 

intent.setAction(Intent.ACTION_VIEW); 

intent.setData(uri); 





startActivity(intent); 

我认为PDF确实打开(我看不到它曾经),因为logcat中这样说:

12月7日至16日:21:02.678:d/dalvikvm(2317 ):无JNI_OnLoad在 发现/data/data/com.example.opener/lib/libmupdf.so 0xa6ac31c8,跳过 初始化十二月7日至16日:21:02.690:E/libmupdf(2317):打开文件 ... 07-16 12:21:02.706:I/alert(2317):alert_init 07-16 12:21:02.706: E/libmupdf(231 7):完成! 12月7日至16日:21:02.738:d/dalvikvm(2317): GC_CONCURRENT释放181K​​,3%的游离8176K/8391K,暂停13毫秒+ 0毫秒,总 22毫秒

但上述消息后,我得到一个nullpointerException。这里是完整的错误信息:

07-16 12:21:02.830: E/AndroidRuntime(2317): FATAL EXCEPTION: main 
07-16 12:21:02.830: E/AndroidRuntime(2317): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.opener/com.artifex.mupdflib.MuPDFActivity}: java.lang.NullPointerException 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at android.app.ActivityThread.access$600(ActivityThread.java:130) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at android.os.Handler.dispatchMessage(Handler.java:99) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at android.os.Looper.loop(Looper.java:137) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at java.lang.reflect.Method.invoke(Method.java:511) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at dalvik.system.NativeStart.main(Native Method) 
07-16 12:21:02.830: E/AndroidRuntime(2317): Caused by: java.lang.NullPointerException 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at com.artifex.mupdflib.CallbackApplication$MuPDFCallbackClass.sendGaiView(CallbackApplication.java:16) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at com.artifex.mupdflib.MuPDFActivity.updatePageNumView(MuPDFActivity.java:966) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at com.artifex.mupdflib.MuPDFActivity.access$5(MuPDFActivity.java:949) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at com.artifex.mupdflib.MuPDFActivity$4.onMoveToChild(MuPDFActivity.java:430) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at com.artifex.mupdflib.ReaderView.setDisplayedViewIndex(ReaderView.java:94) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at com.artifex.mupdflib.MuPDFActivity.createUI(MuPDFActivity.java:654) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at com.artifex.mupdflib.MuPDFActivity.onCreate(MuPDFActivity.java:396) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at android.app.Activity.performCreate(Activity.java:5008) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 
07-16 12:21:02.830: E/AndroidRuntime(2317):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) 

问题是什么,我哪里出错了?

+0

你有没有调试的代码呢? – JamesB

+0

我从github.https://github.com/joniks/Android-MuPDF下载了代码 –

+0

这不能回答我的问题。 – JamesB

回答

2
String s=Environment.getExternalStorageDirectory().getAbsolutePath().toString()+"/Download/AdobeReader/Getting Started with Adobe Reader.pdf"; 
Uri uri = Uri.parse(s); 

Intent intent = new Intent(getBaseContext(), MuPDFActivity.class); 

intent.setAction(Intent.ACTION_VIEW); 

intent.setData(uri); 



//if document protected with password 
intent.putExtra("password", "PDF document password"); 

//if you need highlight link boxes 
intent.putExtra("linkhighlight", true); 

//if you don't need device sleep on reading document 
intent.putExtra("idleenabled", false); 

//document name 
intent.putExtra("docname", "PDF document file name"); 




startActivity(intent); 
+0

有运行一个有效的问题完全没有改变,同样的错误仍然存​​在 –

+0

请尝试最新的提交 – jonik

+0

它工作! ,我想上传并接受你的答案,但现在确实没有“答案”。你可以发布你从提交所做的更改吗? –