The*_*Man 12 android android-camera
我创建了一个简单的相机应用程序.除了Android 4.4之外,它在Android的所有版本中都能正常运行.当我从相机应用程序拍照时,我收到以下错误.
java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED from pid=26089, uid=10120
Run Code Online (Sandbox Code Playgroud)
出现错误:
在以下地方:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
Run Code Online (Sandbox Code Playgroud)
如何解决KITKAT的这个问题?
让我知道!
谢谢!
Com*_*are 20
如何解决KITKAT的这个问题?
该代码从未适用.幸运的是,Android(最终)采取措施阻止应用程序欺骗更多这样的系统广播.
如果您想告诉Android索引您放在外部存储上的文件,请使用MediaScannerConnection或ACTION_MEDIA_SCANNER_SCAN_FILE.
Car*_*arl 10
我解决了这个问题,你可以用这个:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, mediaMountUri));
希望这可以帮到你 !
小智 5
Android 会阻止应用发送像 ACTION_MEDIA_SCANNER_SCAN_FILE 或 ACTION_MEDIA_MOUNTED 这样的广播。请改用 MediaScannerConnection 的静态方法 scanFile。
MediaScannerConnection.scanFile(getApplicationContext(), new String[] { file.getAbsolutePath() }, null, new OnScanCompletedListener() {
@Override
public void onScanCompleted(String path, Uri uri) {
// TODO Auto-generated method stub
}
});
Run Code Online (Sandbox Code Playgroud)