android - java.lang.SecurityException: Destination must be on external storage -


in android tv, u disk mount /mnt/usb/sdb4, use android downloadmanage,

 file pathyr = new file("/mnt/usb/sdb4");             uri downloaduri = uri.parse(download_file);             downloadmanager.request request = new downloadmanager.request(downloaduri);             request.setdestinationuri(uri.fromfile(new file( pathyr,"100mb.jpg") )); 

04-20 10:54:05.593: w/dalvikvm(2315): threadid=1: thread exiting uncaught exception (group=0x40f771f8) 04-20 10:54:05.665: e/androidruntime(2315): fatal exception: main 04-20 10:54:05.665: e/androidruntime(2315): java.lang.securityexception: destination must on external storage: file:///mnt/usb/sdb4/100mb.test.test 04-20 10:54:05.665: e/androidruntime(2315):     @ android.os.parcel.readexception(parcel.java:1327) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.database.databaseutils.readexceptionfromparcel(databaseutils.java:181) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.database.databaseutils.readexceptionfromparcel(databaseutils.java:135) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.content.contentproviderproxy.insert(contentprovidernative.java:415) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.content.contentresolver.insert(contentresolver.java:730) 04-20 10:54:05.665: e/androidruntime(2315):     @ com.exercise.download.downloadmanager.enqueue(downloadmanager.java:750) 04-20 10:54:05.665: e/androidruntime(2315):     @ com.exercise.androiddownloadmanager.androiddownloadmanageractivity$1.onclick(androiddownloadmanageractivity.java:71) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.view.view.performclick(view.java:3511) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.view.view.onkeyup(view.java:6073) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.widget.textview.onkeyup(textview.java:5595) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.view.keyevent.dispatch(keyevent.java:3010) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.view.view.dispatchkeyevent(view.java:5500) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.view.viewgroup.dispatchkeyevent(viewgroup.java:1246) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.view.viewgroup.dispatchkeyevent(viewgroup.java:1246) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.view.viewgroup.dispatchkeyevent(viewgroup.java:1246) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.view.viewgroup.dispatchkeyevent(viewgroup.java:1246) 04-20 10:54:05.665: e/androidruntime(2315):     @ com.android.internal.policy.impl.phonewindow$decorview.superdispatchkeyevent(phonewindow.java:1879) 04-20 10:54:05.665: e/androidruntime(2315):     @ com.android.internal.policy.impl.phonewindow.superdispatchkeyevent(phonewindow.java:1361) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.app.activity.dispatchkeyevent(activity.java:2325) 04-20 10:54:05.665: e/androidruntime(2315):     @ com.android.internal.policy.impl.phonewindow$decorview.dispatchkeyevent(phonewindow.java:1806) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.view.viewrootimpl.deliverkeyeventpostime(viewrootimpl.java:3327) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.view.viewrootimpl.handlefinishedevent(viewrootimpl.java:3300) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.view.viewrootimpl.handlemessage(viewrootimpl.java:2460) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.os.handler.dispatchmessage(handler.java:99) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.os.looper.loop(looper.java:137) 04-20 10:54:05.665: e/androidruntime(2315):     @ android.app.activitythread.main(activitythread.java:4424) 04-20 10:54:05.665: e/androidruntime(2315):     @ java.lang.reflect.method.invokenative(native method) 04-20 10:54:05.665: e/androidruntime(2315):     @ java.lang.reflect.method.invoke(method.java:511) 04-20 10:54:05.665: e/androidruntime(2315):     @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:853) 04-20 10:54:05.665: e/androidruntime(2315):     @ com.android.internal.os.zygoteinit.main(zygoteinit.java:579) 04-20 10:54:05.665: e/androidruntime(2315):     @ dalvik.system.nativestart.main(native method) 

at moment, downloadmanager request accepts paths on "standard" external storage, retrieved environment.getexternalstoragepublicdirectory(yourdirofchoice) or environment.getexternalstoragedirectory(); otherwise, throws exception.

for more info, see this stackoverflow question.


Comments

Popular posts from this blog

c# - Send Image in Json : 400 Bad request -

jquery - Fancybox - apply a function to several elements -

An easy way to program an Android keyboard layout app -