Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Permission Denial: not allowed to send broadcast in android

I have created a simple camera app. It works fine in all the versions of Android except Android 4.4. I get the following error when I take a picture from my camera App.

java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED from pid=26089, uid=10120

Error comes up:

In the following place:

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

How to fix this issue for KITKAT?

Let me know!

Thanks!

like image 828
TheDevMan Avatar asked Jan 30 '14 23:01

TheDevMan


1 Answers

How to fix this issue for KITKAT?

That code has never been appropriate. Fortunately, Android is (finally) taking steps to prevent apps from spoofing more system broadcasts like this.

If you want to tell Android to index a file you put on external storage, either use MediaScannerConnection or ACTION_MEDIA_SCANNER_SCAN_FILE.

like image 190
CommonsWare Avatar answered Nov 29 '22 10:11

CommonsWare