相关疑难解决方法(0)

如何处理无法解码流:java.io.FileNotFoundException:on使用FileProvider(没有这样的文件或目录)

我试图通过摆脱FileUriExposedException来支持Nougat.当我使用Uri.fromFile(gettheImageFilehere())方法我成功获取图像路径文件:///storage/emulated/0/DCIM/Camera/IMG_20170308_171951.jpg 当我使用

FileProvider.getUriForFile(HomeView.this, getApplicationContext().getPackageName() + ".provider",
                gettheImageFilehere());
Run Code Online (Sandbox Code Playgroud)

我得到的图像路径为:/external_files/DCIM/Camera/IMG_20170308_171951.jpg

我试图使用android.os.FileUriExposedException上提供的实现. 这是我在androidmanifest.xml 里面的代码,我添加了提供程序:

<provider
       android:name="android.support.v4.content.FileProvider"
       android:authorities="${applicationId}.provider"
       android:exported="false"
       android:grantUriPermissions="true">
        <meta-data
           android:name="android.support.FILE_PROVIDER_PATHS"
           android:resource="@xml/provider_paths"/>
    </provider>
Run Code Online (Sandbox Code Playgroud)

然后我在res/xml文件夹中创建了provider_paths.xml,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path name="external_files" path="."/>
</paths>
Run Code Online (Sandbox Code Playgroud)

我对上述情况表示怀疑:

  1. 在某些例子中,我发现他们使用完整路径.即Android/data/com.example.com/files.我不知道它是否只是将路径作为a.希望有人可以为我解决这个问题.

我得到的完整错误是无法解码流:java.io.FileNotFoundException:/ external_files/DCIM/Camera/IMG_20170308_175833.jpg(没有这样的文件或目录)

代码段的.java文件是在这里查看我的实现.

android android-fileprovider

5
推荐指数
1
解决办法
481
查看次数

从另一个程序安装apk

我正在尝试创建一个从特定服务器自动下载apk并将其安装在系统上的应用程序.我的安装代码如下所示,但不起作用.

File f = new File("/mnt/sdcard/download/", "Demo.apk");
Log.i("Demo", "f "+f.getAbsoluteFile());
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(f), "application/vnd.android.package_archive");
intent.addFlags(intent.FLAG_ACTIVITY_NEW_TASK);
m_context.startActivity(intent);            
Run Code Online (Sandbox Code Playgroud)

我是否需要授予Manifest.xml安装权利?我知道之前已经问过这个问题,但到目前为止,没有一个答案对我有帮助.

java android android-manifest apk

4
推荐指数
2
解决办法
9014
查看次数

从Android应用程序打开文件管理器

如何重定向我的应用程序以在特定路径打开文件管理器?

我尝试过类似的东西:

Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND);
    shareIntent.setType("*/*");
    shareIntent.putExtra(Intent.EXTRA_STREAM,
            Uri.fromFile(new File(filePath)));
    shareIntent.setPackage("my.package");
    startActivity(shareIntent);
Run Code Online (Sandbox Code Playgroud)

但我一直得到错误:

E/AndroidRuntime(3591):android.content.ActivityNotFoundException:找不到处理Intent的活动{act = android.intent.action.SEND typ = / flg = 0x1 pkg = my.package(has clip)(有附加内容)}

什么是正确的意图过滤器,因为我怀疑ACTION_SEND不正确.

谢谢.

android file-manager android-intent

4
推荐指数
2
解决办法
8621
查看次数

Intent.ACTION_SEND无法使用Oreo

我正在开发一个自定义相机应用程序,它捕获图片并将其存储在图库中.当我使用Intent.ACTION_SEND共享该图像时,除了具有API 26的设备(即OREO)之外,它在所有设备上都能正常工作.

我分享图片的代码是:

Intent shareIntent = new Intent();
            shareIntent.setAction(Intent.ACTION_SEND);
            shareIntent.setType("image/jpeg");
            Uri uriShare = Uri.fromFile(outFile);
            //outfile is the path of the image stored in the gallery
            shareIntent.putExtra(Intent.EXTRA_STREAM, uriShare);
            startActivity(Intent.createChooser(shareIntent, ""));
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?

java android share-intent android-8.0-oreo

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

打开文件夹 - 意图选择器

如何打开一个对话框,列出可以打开给定文件夹的所有应用程序?

我试过以下代码

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setData(Uri.fromFile(Environment.getExternalStorageDirectory()));
startActivity(Intent.createChooser(intent, "Open Folder"));
Run Code Online (Sandbox Code Playgroud)

它说“没有应用程序可以执行此操作。”

我的设备有默认的文件资源管理器和 AndroidZip 应用程序(这些应用程序可以打开一个文件夹)。

android

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

如何保存网址中的图片?

我设置setImageBitmap与外部图像URL一起使用的ImageView 。我想保存图像,以便即使没有互联网连接也可以在以后使用。我在哪里以及如何保存?

android android-imageview

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

尝试访问相机时,Cordova应用程序崩溃

我有一个已实现Cordova Camera插件的Cordova应用程序(在Android上运行),我有一个简单的“ click”事件,该事件调用以下代码,然后弹出消息:

“是否允许MyHQAPP访问设备上的照片,媒体和文件?”

我单击“允许”,应用程序立即关闭?我已经检查了ADB错误日志,可以在下面看到以下错误

谁能说出问题所在-请注意,我正在使用ngCordova插件来实现相机功能 http://ngcordova.com/docs/plugins/camera/

08-07 11:33:19.712 14954 15032 E PluginManager: Uncaught exception from plugin
08-07 11:33:19.712 14954 15032 E PluginManager: android.os.FileUriExposedException: file:///storage/emulated/0/Android/data/com.mytechnologies.myapp_2017/cache/.Pic.jpg exposed beyond app through ClipData.Item.getUri()
08-07 11:33:19.712 14954 15032 E PluginManager:         at android.os.StrictMode.onFileUriExposed(StrictMode.java:1799)
08-07 11:33:19.712 14954 15032 E PluginManager:         at android.net.Uri.checkFileUriExposed(Uri.java:2346)
08-07 11:33:19.712 14954 15032 E PluginManager:         at android.content.ClipData.prepareToLeaveProcess(ClipData.java:845)
08-07 11:33:19.712 14954 15032 E PluginManager:         at android.content.Intent.prepareToLeaveProcess(Intent.java:8941)
08-07 11:33:19.712 14954 15032 E PluginManager:         at android.content.Intent.prepareToLeaveProcess(Intent.java:8926)
08-07 11:33:19.712 14954 15032 E PluginManager:         at android.app.Instrumentation.execStartActivity(Instrumentation.java:1690)
08-07 11:33:19.712 …
Run Code Online (Sandbox Code Playgroud)

android cordova cordova-plugins ngcordova

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

android.os.FileUriExposedException是在奥利奥引起的(仅限!)

在Google Play控制台中,我可以看到此异常仅发生在使用Android 8.0+的设备上.

android.os.FileUriExposedException: 
at android.os.StrictMode.onFileUriExposed (StrictMode.java:1975)
at android.net.Uri.checkFileUriExposed (Uri.java:2355)
at android.content.Intent.prepareToLeaveProcess (Intent.java:9975)
at android.content.Intent.prepareToLeaveProcess (Intent.java:9950)
at android.content.Intent.prepareToLeaveProcess (Intent.java:9929)
at android.app.Instrumentation.execStartActivity (Instrumentation.java:1622)
at android.app.Activity.startActivityForResult (Activity.java:4748)
at android.support.v4.app.BaseFragmentActivityJB.startActivityForResult (BaseFragmentActivityJB.java:10)
at android.support.v4.app.FragmentActivity.startActivityForResult (FragmentActivity.java)
at android.support.v4.app.ActivityCompatJB.finishAffinity (ActivityCompatJB.java)
or                                         .startActivityForResult (ActivityCompatJB.java)
at android.support.v4.app.ActivityCompat.a (ActivityCompat.java:6)
at android.support.v4.app.FragmentActivity.a (FragmentActivity.java:8)
at android.support.v4.app.FragmentActivity$HostCallbacks.a (FragmentActivity.java:2)
at android.support.v4.app.Fragment.a (Fragment.java:38)
at android.support.v4.app.Fragment.a (Fragment.java:1)
at de.test.testapp.FileManagerFragment.onClick (FileManagerFragment.java:113)
at android.view.View.performClick (View.java:6291)
at android.view.View$PerformClick.run (View.java:24931)
at android.os.Handler.handleCallback (Handler.java:808)
at android.os.Handler.dispatchMessage (Handler.java:101)
at android.os.Looper.loop (Looper.java:166)
at android.app.ActivityThread.main (ActivityThread.java:7390)
at java.lang.reflect.Method.invoke (Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run (Zygote.java:245)
at …
Run Code Online (Sandbox Code Playgroud)

java android share android-intent android-fileprovider

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

在Nougat 7中不支持Android相机裁剪

Android nougat 7中不支持相机和图库裁剪在android nougat 7中打开相机我收到此错误消息.

android.os.FileUriExposedException:

file:///storage/emulated/0/file1495176310055.jpg通过ClipData.Item.getUri()暴露在app之外

camera android crop android-7.0-nougat

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

Android N 中的 android.os.FileUriExposedException 错误

我的订单文件夹中的外部存储中有图像,并且我正在尝试使用意图将该图像共享到外部应用程序

File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Orders");
String filename = "OrderID.jpg";
File file = new File(file,filename);
  Intent intent = new Intent(Intent.ACTION_SEND);
  intent.setType("image/*");
                intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
 intent.putExtra(Intent.EXTRA_STREAM,Uri.fromFile(file));
                try {
                     startActivity(intent);
                } catch (android.content.ActivityNotFoundException ex) {

                }
Run Code Online (Sandbox Code Playgroud)

我已授予加载应用程序本身的存储权限,但每次应用程序崩溃时我都会得到

ndroid.os.FileUriExposedException: file:///storage/emulated/0/Orders/OrderID.jpg exposed beyond app through ClipData.Item.getUri()
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?我在谷歌上关注了很多帖子但没有用

android.os.FileUriExposedException:file.jpg 通过 ClipData.Item.getUri() 暴露在应用程序之外

https://github.com/react-native-community/react-native-share/issues/185

https://github.com/tungdx/android-media-picker/issues/11

https://github.com/MLSDev/RxImagePicker/issues/13

android

0
推荐指数
1
解决办法
1万
查看次数