在android服务中,我创建了一些用于执行某些后台任务的线程.
我有一种情况,线程需要在主线程的消息队列上发布某些任务,例如a Runnable
.
有没有办法获得Handler
主线程并从我的其他线程发布Message
/ Runnable
到它?
谢谢,
我正在使用android并遍历数百个mediafile,以找到第一张嵌入式图片,效果很好,但在我的logcat中却发了很多错误。
我正在使用此代码:
for (String s : ArrayList <String> paths){
MediaMetadataRetriever mmr = new MediaMetadataRetriever();
mmr.setDataSource(path);
byte[] data = mmr.getEmbeddedPicture();
if (data != null) {
...
}
Run Code Online (Sandbox Code Playgroud)
它记录的错误是:
E/MediaMetadataRetrieverJNI? getEmbeddedPicture: Call to getEmbeddedPicture failed.
E/MediaMetadataRetrieverJNI? getEmbeddedPicture: Call to getEmbeddedPicture failed.
E/MediaMetadataRetrieverJNI? getEmbeddedPicture: Call to getEmbeddedPicture failed.
E/MediaMetadataRetrieverJNI? getEmbeddedPicture: Call to getEmbeddedPicture failed.
E/MediaMetadataRetrieverJNI? getEmbeddedPicture: Call to getEmbeddedPicture failed.
E/MediaMetadataRetrieverJNI? getEmbeddedPicture: Call to getEmbeddedPicture failed.
.....
Run Code Online (Sandbox Code Playgroud)
我使用的对吗?如果可以,则可以抑制该错误,这会使调试变得烦人。根据MediaMetadataRetriever,它应该简单地返回null