相关疑难解决方法(0)

Android:以编程方式安装.apk

我在Android下载二进制文件问题 和以编程方式在Android上安装应用程序的帮助下做到了这一点 .

我想立即进行自动更新和自动安装.它是本地的,所以它是非市场应用.

这是我的代码:

public void Update(String apkurl){
    try {
        URL url = new URL(apkurl);
        HttpURLConnection c = (HttpURLConnection) url.openConnection();
        c.setRequestMethod("GET");
        c.setDoOutput(true);
        c.connect();

        String PATH = Environment.getExternalStorageDirectory() + "/download/";
        File file = new File(PATH);
        file.mkdirs();
        File outputFile = new File(file, "app.apk");
        FileOutputStream fos = new FileOutputStream(outputFile);

        InputStream is = c.getInputStream();

        byte[] buffer = new byte[1024];
        int len1 = 0;
        while ((len1 = is.read(buffer)) != -1) {
            fos.write(buffer, 0, len1);
        }
        fos.close();
        is.close();//till here, it works fine …
Run Code Online (Sandbox Code Playgroud)

android install

336
推荐指数
5
解决办法
33万
查看次数

从相机中捕获图像并在活动中显示

我想编写一个模块,只需单击按钮,相机就会打开,我可以单击并捕获图像.如果我不喜欢图像,我可以删除它并再单击一个图像,然后选择图像,它应该返回并在活动中显示该图像.

camera android image capture

263
推荐指数
11
解决办法
48万
查看次数

如何将文件从'assets'文件夹复制到SD卡?

我在assets文件夹中有几个文件.我需要将它们全部复制到文件夹中说/ sdcard/folder.我想从一个线程中做到这一点.我该怎么做?

android assets copy

242
推荐指数
6
解决办法
18万
查看次数

以编程方式在Android上安装应用程序

我很想知道是否可以从自定义Android应用程序以编程方式安装动态下载的apk.

android apk

200
推荐指数
10
解决办法
17万
查看次数

如何使用支持FileProvider将内容分享给其他应用程序?

我正在寻找一种方法,使用Android支持库的FileProvider正确地与外部应用程序共享(而不是OPEN)内部文件.

按照文档上的示例,

<provider
    android:name="android.support.v4.content.FileProvider"
    android:authorities="com.example.android.supportv4.my_files"
    android:grantUriPermissions="true"
    android:exported="false">
    <meta-data
        android:name="android.support.FILE_PROVIDER_PATHS"
        android:resource="@xml/my_paths" />
</provider>
Run Code Online (Sandbox Code Playgroud)

并使用ShareCompat将文件共享给其他应用程序,如下所示:

ShareCompat.IntentBuilder.from(activity)
.setStream(uri) // uri from FileProvider
.setType("text/html")
.getIntent()
.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
Run Code Online (Sandbox Code Playgroud)

不起作用,因为FLAG_GRANT_READ_URI_PERMISSION仅授予data对intent 指定的Uri的权限,而不授予EXTRA_STREAMextra 的值(由set设置setStream).

我试图通过设置成安全android:exportedtrue的供应商,但FileProvider在内部检查,如果本身是出口,所以时,它抛出一个异常.

android android-contentprovider android-support-library android-fileprovider

130
推荐指数
7
解决办法
11万
查看次数

通过ClipData.Item.getUri暴露在app之外

嗨我想在android文件系统中添加新功能后修复问题,但是我收到此错误:

android.os.FileUriExposedException:file:///storage/emulated/0/MyApp/Camera_20180105_172234.jpg通过ClipData.Item.getUri()暴露在app之外

所以我希望有人可以帮我解决这个问题:)

谢谢

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

java android

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

在Android的默认图库图像查看器中使用URI打开图像

我已经提取了图像uri,现在我想用Android的默认图像查看器打开图像.甚至更好,用户可以选择用于打开图像的程序.如果您尝试打开文件,File Explorers之类的东西会提供给您.

android android-image

76
推荐指数
7
解决办法
14万
查看次数

在Android中将文件路径转换为Uri

我有一个应用程序,我使用相机捕获视频.我可以获得视频的文件路径,但我需要它作为Uri.

我得到的文件路径:

/storage/emulated/0/DCIM/Camera/20141219_133139.mp4
Run Code Online (Sandbox Code Playgroud)

我需要的是这样的:

content//media/external/video/media/18576.
Run Code Online (Sandbox Code Playgroud)

这是我的代码.

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        // if the result is capturing Image

         if (requestCode == CAMERA_CAPTURE_VIDEO_REQUEST_CODE) {
            if (resultCode == RESULT_OK) {
                // video successfully recorded
                // preview the recorded video
                // selectedImageUri = data.getData();
                // Uri selectedImage = data.getData();
                previewVideo();

                tv1.setText(String.valueOf((fileUri.getPath())));
                String bedroom=String.valueOf((fileUri.getPath()));
                Intent i = new Intent();
                i.putExtra(bhk1.BEDROOM2, bedroom);
                setResult(RESULT_OK,i); 
                btnRecordVideo.setText("ReTake Video");

            } else if (resultCode == RESULT_CANCELED) {
                // user cancelled recording
                Toast.makeText(getApplicationContext(),
                        "User cancelled video recording", …
Run Code Online (Sandbox Code Playgroud)

string android uri

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

Android Intent用于发送带附件的电子邮件

可能重复:
来自内部存储的电子邮件

收件人正在接收电子邮件,但没有附件.这是代码,任何专家都知道我哪里出错了?

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_EMAIL, new String[] {"email@example.com"});
intent.putExtra(Intent.EXTRA_SUBJECT, "subject here");
intent.putExtra(Intent.EXTRA_TEXT, "body text");
File root = Environment.getExternalStorageDirectory();
File file = new File(root, xmlFilename);
if (!file.exists() || !file.canRead()) {
    Toast.makeText(this, "Attachment Error", Toast.LENGTH_SHORT).show();
    finish();
    return;
}
Uri uri = Uri.parse("file://" + file);
intent.putExtra(Intent.EXTRA_STREAM, uri);
startActivity(Intent.createChooser(intent, "Send email..."));
Run Code Online (Sandbox Code Playgroud)

我没有得到任何祝酒词.谢谢.

java android attachment android-intent

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

Android:如何通过Intent打开特定文件夹并在文件浏览器中显示其内容?

我认为这很容易但事实证明不幸的是.

是)我有的:

我的外部存储器上有一个名为"myFolder"的文件夹(不是SD卡,因为它是Nexus 4,但这应该不是问题).该文件夹包含一些*.csv文件.

我想要的是:

我想写一个方法,它执行以下操作:显示各种应用程序(文件浏览器),我可以从中选择一个(见图片).单击它后,所选的文件浏览器应该启动并显示"myFolder"的内容.不多也不少.

在此输入图像描述

我的问题:

我到底该怎么做?我想我接下来的代码非常接近,但无论我做什么 - 而且我确定必须有一些我还没有做到的事情 - 它始终只打开来自外部存储器的主文件夹.

public void openFolder()
{
File file = new File(Environment.getExternalStorageDirectory(),
    "myFolder");

Log.d("path", file.toString());

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setDataAndType(Uri.fromFile(file), "*/*");
startActivity(intent);
}
Run Code Online (Sandbox Code Playgroud)

directory android android-intent android-sdcard

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