[英]Permission Denial: not allowed to send broadcast in android
我創建了一個簡單的相機應用程序。 除了Android 4.4之外,它在Android的所有版本中都能正常運行。 當我從相機應用程序拍照時,我收到以下錯誤。
java.lang.SecurityException: Permission Denial: not allowed to send broadcast android.intent.action.MEDIA_MOUNTED from pid=26089, uid=10120
出現錯誤:
在以下地方:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"+ Environment.getExternalStorageDirectory())));
如何為KITKAT解決這個問題?
讓我知道!
謝謝!
如何為KITKAT解決這個問題?
該代碼從未適用。 幸運的是,Android(最終)采取措施阻止應用程序欺騙更多這樣的系統廣播。
如果您想告訴Android索引您放在外部存儲上的文件,請使用MediaScannerConnection
或ACTION_MEDIA_SCANNER_SCAN_FILE
。
我解決了這個問題,你可以用這個:
sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, mediaMountUri));
希望這可以幫到你 !
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
}
});
簡短的回答:你不能,至少不容易。
許多應用程序在更改一個文件后使用此意圖重新掃描整個文件系統,這大大耗盡了電池壽命。 從Android 4.4開始,只有系統應用程序現在可以使用它。 您可能必須找到不使用此意圖的解決方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.