【问题标题】:Make picture available only for my Android application使图片仅适用于我的 Android 应用程序
【发布时间】:2012-08-21 21:52:15
【问题描述】:

我有一个包含大量图片的应用程序。由于图片数量较多,所以将全部图片保存在 SD 卡中。主要问题是图片在画廊中可用。我想要一种从图库中隐藏图片的方法,但它必须可用于我的应用程序。

我确实在文件名前添加了“.”以使其隐藏 但是图像也没有显示在可能的应用程序中!

任何人..帮助..请

谢谢..

【问题讨论】:

  • 我认为 android 通过扩展名搜索图像。尝试使用“.pix”之类的唯一词或应用的首字母为要隐藏的图像添加后缀。

标签: android image gallery private sd-card


【解决方案1】:

Gallery 会处理它知道的所有媒体文件,因此如果您希望它远离您的资产,您有两种解决方案。首先,将.nomedia 文件添加到您的图片所在的文件夹中,图库应该 跳过它(大多数图片查看者会使用.nomedia,但不能保证)。其他解决方案是使用一些自己的专有文件格式,因此 Gallery 或其他工具将无法处理它。如果这是足够的解决方案,我会推荐.nomedia

【讨论】:

  • Here 有人建议更改文件扩展名也应该很好用。
  • @harism:我确实使用了“.nomedia”,但图像没有显示在我的应用程序中!
  • 更改文件扩展名是一个弱点,因为不能保证媒体查看器甚至会查看它(当然,这样做更简单,但是......)。许多观众试图通过读取文件头并试图找出它是否已知来确定文件格式。这就像期望 *.apk 是安全的,因为它没有被命名为 *.zip(虽然它实际上是常规的 zip 存档)。所以.nomedia 比将文件名更改为“神秘”更有意义
  • @godsmAsh .nomedia 只是简单地告诉 Gallery(和其他应用程序)“此文件夹中没有媒体。不要打扰扫描”。就是这样。您仍然可以将媒体文件放在那里,.nomedia 不会让它变得无用。这就像路标“不要超速”。你应该服从,但如果你敢的话,仍然可以加快速度。
  • @WebnetMobile.com:在我的应用程序中,我确实有一个画廊。我希望图像显示在我的画廊而不是手机画廊中。但是当我使用 .nomedia 时,图像也不会显示在我的画廊中!
【解决方案2】:

将 .nomedia 文件添加到图像文件夹中。重要的是,当您添加 .nomedia 文件时,该文件夹应该是空的。如果文件夹包含添加“.nomedia”文件之前的一些图像,图库不会隐藏这些图像,它会隐藏“.nomedia”文件之后添加的图像。所以添加到图像文件夹的第一个文件应该是'.nomedia'。

希望对你有所帮助

谢谢,

【讨论】:

    【解决方案3】:

    这行代码可以在你的目录中添加 .nomedia 文件,并使你的图片在图库中隐藏

    字符串 NOMEDIA=".nomedia";

    文件夹 = 新文件(Environment.getExternalStorageDirectory() + "/mydir"); 如果(文件夹.mkdir()){ nomediaFile = new File(Environment.getExternalStorageDirectory() + "/mydir/"+ NOMEDIA); if(!nomediaFile.exists()){ nomediaFile.createNewFile(); } }

    【讨论】:

      【解决方案4】:

      我认为保存图像的位置很重要,请尝试将它们保存到应用程序缓存目录或文件目录中。

      您可以在活动中使用:getCacheDir() 访问缓存目录。 和你的文件目录:getFilesDir()

      这两个目录不得对除您的应用程序之外的任何其他应用程序可见或可访问,

      【讨论】:

        【解决方案5】:

        我在我的应用中使用资产来实现这一点。

        【讨论】:

        • 我无法使用资产,因为我有大量图片。这就是我将图像保存到 SD 卡中的原因
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-07
        • 1970-01-01
        • 2011-10-27
        • 2018-03-30
        相关资源
        最近更新 更多