0

I want to open Gallery to browse images in my app. My code is:

Intent intent = new Intent(Intent.ACTION_VIEW,
                Uri.parse("content://media/internal/images/media"));
startActivity(intent);

it works well on many phones, but on note2, it crash with an NullPointerException like this:

04-16 16:05:01.275: E/AndroidRuntime(11998): FATAL EXCEPTION: main
04-16 16:05:01.275: E/AndroidRuntime(11998): java.lang.NullPointerException
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.sec.samsung.gallery.view.detailview.DetailViewState.onCreate(DetailViewState.java:762)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.sec.samsung.gallery.model.ViewStateProxy.startState(ViewStateProxy.java:60)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.sec.samsung.gallery.controller.StartStateCmd.execute(StartStateCmd.java:27)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.core.Controller.executeCommand(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.core.Controller$1.onNotification(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.patterns.observer.Observer.notifyObserver(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.core.View.notifyObservers(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.patterns.facade.Facade.notifyObservers(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.patterns.facade.Facade.sendNotification(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.patterns.facade.Facade.sendNotification(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.sec.samsung.gallery.controller.ViewerStartCmd.execute(ViewerStartCmd.java:107)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.core.Controller.executeCommand(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.core.Controller$1.onNotification(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.patterns.observer.Observer.notifyObserver(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.core.View.notifyObservers(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.patterns.facade.Facade.notifyObservers(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.patterns.facade.Facade.sendNotification(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.patterns.facade.Facade.sendNotification(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.sec.samsung.gallery.controller.StartGalleryViewCmd$2.run(StartGalleryViewCmd.java:163)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at android.app.Activity.runOnUiThread(Activity.java:4762)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.sec.samsung.gallery.controller.StartGalleryViewCmd.startImageViewMode(StartGalleryViewCmd.java:157)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.sec.samsung.gallery.controller.StartGalleryViewCmd.processIntent(StartGalleryViewCmd.java:115)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.sec.samsung.gallery.controller.StartGalleryViewCmd.execute(StartGalleryViewCmd.java:53)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.core.Controller.executeCommand(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.core.Controller$1.onNotification(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.patterns.observer.Observer.notifyObserver(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.core.View.notifyObservers(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.patterns.facade.Facade.notifyObservers(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.patterns.facade.Facade.sendNotification(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at org.puremvc.java.patterns.facade.Facade.sendNotification(Unknown Source)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.sec.android.gallery3d.app.Gallery.processIntent(Gallery.java:543)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.sec.android.gallery3d.app.Gallery.access$000(Gallery.java:57)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.sec.android.gallery3d.app.Gallery$3$1.run(Gallery.java:508)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at android.os.Handler.handleCallback(Handler.java:615)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at android.os.Handler.dispatchMessage(Handler.java:92)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at android.os.Looper.loop(Looper.java:137)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at android.app.ActivityThread.main(ActivityThread.java:4898)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at java.lang.reflect.Method.invokeNative(Native Method)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at java.lang.reflect.Method.invoke(Method.java:511)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
04-16 16:05:01.275: E/AndroidRuntime(11998):    at dalvik.system.NativeStart.main(Native Method)

who has any ideas about this?Does the uri error?

yan zhang
  • 11
  • 3

1 Answers1

1

Did you try this solution?

android get real path by Uri.getPath()

And after this get Uri from String method.

Community
  • 1
  • 1
Gent
  • 6,215
  • 1
  • 37
  • 40
  • I don't want to open a special image,so the Uri must be all images. I thind it shoud be "content://media/internal/images/media",not any string path. – yan zhang Apr 16 '15 at 09:26
  • You want to open the folder that have all images on it? – Gent Apr 17 '15 at 09:47
  • Intent mediaChooser = new Intent(Intent.ACTION_PICK); mediaChooser.setType("image/*"); startActivityForResult(mediaChooser, 0); – Gent Apr 17 '15 at 09:50