繁体   English   中英

打开pdf时出现NullPointer异常(MUPDF Android)

[英]NullPointer Exception when opening pdf (MUPDF Android)

我有一个库项目,即MUPDF渲染库。 我正在使用名为OPENER的项目,要求图书馆项目显示pdf。 像这样:

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表示:

07-16 12:21:02.678:D / dalvikvm(2317):在/data/data/com.example.opener/lib/libmupdf.so 0xa6ac31c8中找不到JNI_OnLoad,跳过了初始化07-16 12: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(2317): 完成! 07-16 12:21:02.738:D / dalvikvm(2317):GC_CONCURRENT释放了181K,3%释放了8176K / 8391K,暂停了13ms + 0ms,总计22ms

但是在上述消息之后,我得到了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)

问题出在哪里,我哪里出问题了?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM