相关疑难解决方法(0)

Android 4.4(KitKat)上的Android Gallery为Intent.ACTION_GET_CONTENT返回不同的URI

在KitKat之前(或在新Gallery之前)Intent.ACTION_GET_CONTENT返回这样的URI

内容://媒体/外部/图像/媒体/ 3951.

使用ContentResolver和quering MediaStore.Images.Media.DATA返回文件URL.

但是在KitKat中,Gallery会返回一个URI(通过"Last"),如下所示:

内容://com.android.providers.media.documents/document/image:3951

我该如何处理?

android android-intent android-contentresolver android-gallery

212
推荐指数
9
解决办法
18万
查看次数

在Android中创建临时文件

在Android中创建临时文件的最佳方法是什么?

可以使用File.createTempFile吗?文档对此非常模糊.

特别是,不清楚创建的临时文件何时File.createTempFile被删除.

file-io android temporary-files

193
推荐指数
4
解决办法
15万
查看次数

如何在android中将`content:// media/external/images/media/Y`转换为`file:/// storage/sdcard0/Pictures/X.jpg`?

我正在尝试从我的Android应用上传图片到Google云端硬盘,

基于本教程.

当我调试他们的示例项目时,我看到一个典型的fileUri =

file:///storage/sdcard0/Pictures/IMG_20131117_090231.jpg

在我的应用中,我想上传现有照片.

我检索它的路径

     private void GetAnyImage()
        {
            File dir = new File(Environment.getExternalStorageDirectory()
            .getAbsolutePath() + "/Pictures/Screenshots"); 
                              // --> /storage/sdcard0/Pictures/Screenshots

            Log.d("File path ", dir.getPath());
            String dirPath=dir.getAbsolutePath();
            if(dir.exists() && dir.isDirectory()) {
                Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);
                intent.setType("image/*");
                startActivityForResult(intent,REQUEST_ID);
            }  
        }
Run Code Online (Sandbox Code Playgroud)

并最终得到这个典型的fileUri =content://media/external/images/media/74275

但是在运行这行代码时

  private void saveFileToDrive() {

    //  progressDialog = ProgressDialog.show(this, "", "Loading...");

    Thread t = new Thread(new Runnable() {
      @Override
      public void run() {
        try {
          // File's binary content
          java.io.File fileContent = new …
Run Code Online (Sandbox Code Playgroud)

java android

35
推荐指数
2
解决办法
12万
查看次数

从比最低要求更高的API级别调用API

我写了一个应用程序的大部分,最小API级别设置为7.我想从8级调用单个API.具有较低版本的android的用户将在没有这个"额外功能"的情况下生存.

目前我添加了@SuppressLint("NewApi")以便我的代码可以运行; 我在API 14上测试它.一切正常.

我想知道该应用程序在API 7设备上的行为.这一行会被忽略吗?我的应用会崩溃吗?该应用是否会被Google Play过滤,因此无法安装?

我想在较低的设备上忽略这一行.

android

2
推荐指数
1
解决办法
1470
查看次数