【发布时间】:2023-12-28 11:07:02
【问题描述】:
我正在开发一个使用BroadcastReceiver 截屏的应用程序。在onReceive 方法中,我截取屏幕截图并将其保存在Screenshot/ 目录中。问题是我可以在文件夹中看到屏幕截图,但在画廊中看不到它。也许是因为画廊没有刷新?我尝试在我的BroadcastReceiver 中使用MediaScanner 类或sendBroadcast 方法,但由于应用程序崩溃,它不起作用。
保存图片后如何刷新图库?
【问题讨论】:
-
您可以发布您用于 MediaScanner 的代码吗?另外,当应用程序崩溃时,日志会说什么?
-
MediaScannerConnection.scanFile(context, new String[] { file.toString() }, null, new MediaScannerConnection.OnScanCompletedListener() { public void onScanCompleted(String path, Uri uri) { Log.i( "ExternalStorage", "扫描的" + path + ":"); Log.i("ExternalStorage", "-> uri=" + uri); } });
-
当应用程序崩溃时日志显示:java.lang.RuntimeException: Unable to start receiver com.example.projet: android.content.ReceiverCallNotAllowedException: BroadcastReceiver 组件不允许绑定到服务
-
当我尝试使用 sendBroadcast 方法时,我收到权限拒绝错误
标签: android android-studio broadcastreceiver screenshot development-environment