下面的发生异常时的堆栈:
<terminated>test [Android Application]
<disconnected>DalvikVM[localhost:8600]
test [Android Application]
DalvikVM[localhost:8600]
Thread [<1> main] (Suspended (exception NullPointerException))
VideoView$2.onPrepared(MediaPlayer) line: 388
MediaPlayer$EventHandler.handleMessage(Message) line: 1238
MediaPlayer$EventHandler(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 876
ZygoteInit.main(String[]) line: 634
NativeStart.main(String[]) line: not available [native method]
Thread [<7> Binder Thread #2] (Running)
Thread [<6> Binder Thread #1] (Running)
Thread [<8> Binder Thread #3] (Running)
<terminated>test [Android Application]
<disconnected>DalvikVM[localhost:8600]
test [Android Application]
DalvikVM[localhost:8600]
Thread [<1> main] (Suspended (exception NullPointerException))
VideoView$2.onPrepared(MediaPlayer) line: 388
MediaPlayer$EventHandler.handleMessage(Message) line: 1238
MediaPlayer$EventHandler(Handler).dispatchMessage(Message) line: 99
Looper.loop() line: 123
ActivityThread.main(String[]) line: 4627
Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]
Method.invoke(Object, Object...) line: 521
ZygoteInit$MethodAndArgsCaller.run() line: 876
ZygoteInit.main(String[]) line: 634
NativeStart.main(String[]) line: not available [native method]
Thread [<7> Binder Thread #2] (Running)
Thread [<6> Binder Thread #1] (Running)
Thread [<8> Binder Thread #3] (Running)
VideoView strokeVideo是放在onCreate里面的局部变量,执行restart时不会再次执行onCreate。
可以把VideoView strokeVideo设置为main类的成员变量。
问题二:
放在工程res/raw目录下好像可以播放。
你按home 退出用pause,回来再resume试试,否则需要重新openVideo,然后再seek到上次断点的位置。问题2:
data目录不行,你放到 /system/media下试试(不过貌似是只读的 呵呵)