【问题标题】:How to refresh SDCard?如何刷新 SD 卡?
【发布时间】:2014-02-11 17:41:53
【问题描述】:

我正在尝试刷新 SDCard。为此,我正在使用

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
                Uri.parse("file://" + Environment.getExternalStorageDirectory())));

但它给出了错误。这是我的日志。

02-11 04:19:11.060: E/AndroidRuntime(5093): FATAL EXCEPTION: main
02-11 04:19:11.060: E/AndroidRuntime(5093): java.lang.RuntimeException: Unable to start activity ComponentInfo{amiTechnologies.products.amidesignerforvideo/amiTechnologies.products.amidesignerforvideo.AMIDesignerForVideoActivity}: java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED from pid=5093, uid=10156
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.os.Handler.dispatchMessage(Handler.java:102)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.os.Looper.loop(Looper.java:136)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.app.ActivityThread.main(ActivityThread.java:5017)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at java.lang.reflect.Method.invokeNative(Native Method)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at java.lang.reflect.Method.invoke(Method.java:515)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at dalvik.system.NativeStart.main(Native Method)
02-11 04:19:11.060: E/AndroidRuntime(5093): Caused by: java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED from pid=5093, uid=10156
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.os.Parcel.readException(Parcel.java:1465)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.os.Parcel.readException(Parcel.java:1419)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.app.ActivityManagerProxy.broadcastIntent(ActivityManagerNative.java:2373)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.app.ContextImpl.sendBroadcast(ContextImpl.java:1127)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.content.ContextWrapper.sendBroadcast(ContextWrapper.java:365)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at amiTechnologies.products.amidesignerforvideo.AMIDesignerForVideoActivity.onCreate(AMIDesignerForVideoActivity.java:329)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.app.Activity.performCreate(Activity.java:5231)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
02-11 04:19:11.060: E/AndroidRuntime(5093):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)
02-11 04:19:11.060: E/AndroidRuntime(5093):     ... 11 more

我必须添加什么权限?我尝试了堆栈溢出的许多答案,但对我不起作用。

【问题讨论】:

    标签: android android-broadcast


    【解决方案1】:

    当您使用代码时

    sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,
                    Uri.parse("file://" + Environment.getExternalStorageDirectory())));
    

    看起来不错,但是设备必须从 USB 断开,不应该连接。否则,您可能需要重新插拔设备才能看到您尝试进行的所有更改。

    你有没有看到上面写着的日志

    java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED
    

    请在使用以下代码 sn-p 时断开设备

    也请访问I try scan media file in sdcard and refresh it,这可能会对您有所帮助。

    【讨论】:

    • 谢谢你 jitesh,让我试试你的建议
    • 令人惊讶的是,即使连接了 USB,这段代码也能正常工作...... :)
    • 我还有一个问题.. 我对我的 SD 卡进行了更改,然后我的应用程序无法识别更改。我重新启动了我的应用程序,它正在识别更改。我该如何解决这个问题。
    • 看看这个你就知道我的问题到底是什么stackoverflow.com/questions/21303974/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多