当前位置: 首页 > 知识库问答 >
问题:

如何使用adb shell显示本地映像

漆雕唯
2023-03-14

我想使用ADB shell告诉我的设备在其SD卡上显示图像。我以为这个命令会奏效:

adb shell am start -a android.intent.action.MAIN -n com.android.browser/.BrowserActivity -d file:///storage/sdcard0/Android/data/<mypackage>/files/myfile.jpg
adb shell am start -a android.intent.action.VIEW -d file:///storage/sdcard0/Android/data/<mypackage>/files/myfile.jpg

开始:意图{act=Android.Intent.action.view dat=/storage/sdcard0/android/data//files/myfile.jpg}
错误:活动未启动,无法解析意图{act=Android.Intent.action.view dat=/storage/sdcard0/android/data//files/myfile.jpg flg=0x10000000}

该文件的权限为:

-rw-rw-r-- root     sdcard_rw   198106 2013-01-02 21:29 gUD9w5.jpg

我正在用Galaxy Nexus的4.1.1版本进行测试

ActivityManager: START {dat=file:///storage/sdcard0/Android/data/<mypackage>/Pictures/myfile.jpg typ=image/* 
    flg=0x13000000 cmp=com.google.android.gallery3d/com.android.gallery3d.app.CropImage u=0} from pid 301
UriImage: fail to open: file:///storage/sdcard0/Android/data/<mypackage>/Pictures/myfile.jpg
UriImage: java.io.FileNotFoundException: /storage/sdcard0/Android/data/<mypackage>/Pictures/myfile.jpg: 
    open failed: ENOENT (No such file or directory)
UriImage:   at libcore.io.IoBridge.open(IoBridge.java:416)
UriImage:   at java.io.FileInputStream.<init>(FileInputStream.java:78)
UriImage:   at java.io.FileInputStream.<init>(FileInputStream.java:105)
UriImage:   at android.content.ContentResolver.openInputStream(ContentResolver.java:445)
UriImage:   at com.android.gallery3d.data.UriImage.openOrDownloadInner(UriImage.java:98)
UriImage:   at com.android.gallery3d.data.UriImage.openFileOrDownloadTempFile(UriImage.java:78)
UriImage:   at com.android.gallery3d.data.UriImage.prepareInputFile(UriImage.java:164)
UriImage:   at com.android.gallery3d.data.UriImage.access$100(UriImage.java:40)
UriImage:   at com.android.gallery3d.data.UriImage$RegionDecoderJob.run(UriImage.java:170)
UriImage:   at com.android.gallery3d.data.UriImage$RegionDecoderJob.run(UriImage.java:168)
UriImage:   at com.android.gallery3d.app.CropImage$LoadDataTask.run(CropImage.java:921)
UriImage:   at com.android.gallery3d.app.CropImage$LoadDataTask.run(CropImage.java:913)
UriImage:   at com.android.gallery3d.util.ThreadPool$Worker.run(ThreadPool.java:124)
UriImage:   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
UriImage:   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
UriImage:   at java.lang.Thread.run(Thread.java:856)
UriImage:   at com.android.gallery3d.util.PriorityThreadFactory$1.run(PriorityThreadFactory.java:43)
UriImage: Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
UriImage:   at libcore.io.Posix.open(Native Method)
UriImage:   at libcore.io.BlockGuardOs.open(BlockGuardOs.java:110)
UriImage:   at libcore.io.IoBridge.open(IoBridge.java:400)
UriImage:   ... 16 more

共有1个答案

夹谷沛
2023-03-14

这应该有效,但它取决于您安装的应用程序:

$ adb shell am start -t image/* -d file:///mnt/sdcard/myfile.jpg

有趣的是,如果您使用...在完全操作中选择Gallery,它就不起作用,但如果您选择裁剪图片,它就起作用了。也与Astro图像查看器一起工作。

 类似资料:
  • 问题内容: 我正在处理dockerfile。我只是意识到我一直在使用索引图像。 所以我想知道: 如何在我的本地(自定义)图像之一不作为索引的情况下将其用作基础()图像? 问题答案: 您可以使用它而无需执行任何特殊操作。如果您有一个本地图像,可以这样做。如果您在Dockerfile中进行操作,但 没有 名为的本地映像, 则 Docker将尝试从注册表中提取它。 换句话说,如果Dockerfile这样

  • 在web.xml中,servlet条目如下所示, 在Jsp中,我有如下img标记, 我想我在img标记的src属性上犯了错误,谁能说出我在这里犯的错误。

  • 我正试图通过adb shell在我的三星Note 3上显示本地图像。 ,但仍然不起作用。有人能帮我吗,真的很感激!

  • 我已经用build.gradle发布了一个工件如下: 并且我成功地获得了repo目录中的javadoc files文件: 但当我在另一个模块的构建中使用它时。Gradle: 而且 当我在库中的类上使用Ctrl-Q时,Javadoc不会弹出。Java代码是好的,当我点击类Android工作室给我的反编译代码没有任何问题。此外,其他依赖项(如support LibraryV4)正确显示了Javadoc

  • 我正在尝试显示我正在使用的下载文件夹中的图像。 但在执行此操作时,我得到了异常,我已经检查了该路径,图像位于那里。我已经在清单中授予了和权限 原木猫 E/BitmapFactory:无法解码流:java.io.FileNotFound异常: /file:/存储/sdcard0/13448File. jpg:打开失败:ENOENT(没有这样的文件或目录)

  • 如何强制testcontainers使用本地映像?