Android的下载管理问题的三星标签GT-P3100 [英] Android Download Manager Issue in Samsung Tab GT-P3100

查看:454
本文介绍了Android的下载管理问题的三星标签GT-P3100的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法下载在上述设备使用下载管理器的文件。同样的code适用于所有其他设备。 问题是为什么它不工作只在这个设备。如果它是一个三星的具体问题,有一个解决方法吗?我试图改变到的目录下载应该发生,但是这并不能工作。

Android操作系统:4.1.2

崩溃日志:

  09-24 15:48:34.298:E / ActivityThread(19843):未能找到下载供应商信息
09-24 15:48:34.306:D / AndroidRuntime(19843):关闭虚拟机
09-24 15:48:34.337:E / AndroidRuntime(19843):致命异常:主要
09-24 15:48:34.337:E / AndroidRuntime(19843):java.lang.IllegalArgumentException异常:未知的URL内容://下载/ my_downloads
09-24 15:48:34.337:E / AndroidRuntime(19843):在android.content.ContentResolver.insert(ContentResolver.java:860)
09-24 15:48:34.337:E / AndroidRuntime(19843):在android.app.DownloadManager.enqueue(DownloadManager.java:1252)
09-24 15:48:34.337:E / AndroidRuntime(19843):在com.example.ws.appcatalog.exampleDownloadManager.startDownload(exampleDownloadManager.java:59)
09-24 15:48:34.337:E / AndroidRuntime(19843):在com.example.ws.wsUtil $ GetEulaOrApkUrlTask​​.onPostExecute(wsUtil.java:340)
09-24 15:48:34.337:E / AndroidRuntime(19843):在com.example.ws.wsUtil $ GetEulaOrApkUrlTask​​.onPostExecute(wsUtil.java:1)
09-24 15:48:34.337:E / AndroidRuntime(19843):在android.os.AsyncTask.finish(AsyncTask.java:631)
09-24 15:48:34.337:E / AndroidRuntime(19843):在android.os.AsyncTask.access $ 600(AsyncTask.java:177)
09-24 15:48:34.337:E / AndroidRuntime(19843):在android.os.AsyncTask $ InternalHandler.handleMessage(AsyncTask.java:644)
09-24 15:48:34.337:E / AndroidRuntime(19843):在android.os.Handler.dispatchMessage(Handler.java:99)
09-24 15:48:34.337:E / AndroidRuntime(19843):在android.os.Looper.loop(Looper.java:137)
09-24 15:48:34.337:E / AndroidRuntime(19843):在android.app.ActivityThread.main(ActivityThread.java:4895)
09-24 15:48:34.337:E / AndroidRuntime(19843):在java.lang.reflect.Method.invokeNative(本机方法)
09-24 15:48:34.337:E / AndroidRuntime(19843):在java.lang.reflect.Method.invoke(Method.java:511)
09-24 15:48:34.337:E / AndroidRuntime(19843):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:994)
09-24 15:48:34.337:E / AndroidRuntime(19843):在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
09-24 15:48:34.337:E / AndroidRuntime(19843):在dalvik.system.NativeStart.main(本机方法)
 

我的code:

 公共无效startDownload(字符串apkUrl,字符串的appName){

    DownloadManager.Request请求= buildRequest(apkUrl,的appName);

    长lastDownloadId = mDownloadManager.enqueue(要求);

    Logger.d(在XYZDownloadManager,+AppName的:+的appName +ID为:+ lastDownloadId);

}

私人DownloadManager.Request buildRequest(字符串apkUrl,字符串的appName){

    开放的我们的uri = Uri.parse(apkUrl);

    DownloadManager.Request appDownloadRequest =新DownloadManager.Request(URI);

    appDownloadRequest.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI
            | DownloadManager.Request.NETWORK_MOBILE)
            .setAllowedOverRoaming(假)
            .setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE)
            .setTitle(的appName)
            .setDescription(WorkspaceApp.getAppContext().getResources().getString(R.string.app_download_description))
            .setMimeType(应用/ vnd.android.package存档)
            .setDestinationInExternalFilesDir(mContext,Environment.DIRECTORY_DOWNLOADS,的appName +.apk文件);

    返回appDownloadRequest;
}
 

解决方案

的问题是:该设备具有下载管理器应用程序禁用。在最好的情况,国际海事组织,我们所能做的就是通知用户,该设备具有当我们得到IllegalArgument异常,当我们排队下载禁止下载管理器,如果他想再次启用它。

I am not able to download files using DownloadManager in the aforementioned device. The same code works for all other devices. The question is why is it not working only in this device. If it's a Samsung specific issue, is there a workaround for this? I have tried changing directories to which the download should happen but that didn't work either.

Android OS: 4.1.2

Crash Logs:

09-24 15:48:34.298: E/ActivityThread(19843): Failed to find provider info for downloads
09-24 15:48:34.306: D/AndroidRuntime(19843): Shutting down VM
09-24 15:48:34.337: E/AndroidRuntime(19843): FATAL EXCEPTION: main
09-24 15:48:34.337: E/AndroidRuntime(19843): java.lang.IllegalArgumentException: Unknown URL content://downloads/my_downloads
09-24 15:48:34.337: E/AndroidRuntime(19843):    at android.content.ContentResolver.insert(ContentResolver.java:860)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at android.app.DownloadManager.enqueue(DownloadManager.java:1252)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at com.example.ws.appcatalog.exampleDownloadManager.startDownload(exampleDownloadManager.java:59)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at com.example.ws.wsUtil$GetEulaOrApkUrlTask.onPostExecute(wsUtil.java:340)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at com.example.ws.wsUtil$GetEulaOrApkUrlTask.onPostExecute(wsUtil.java:1)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at android.os.AsyncTask.finish(AsyncTask.java:631)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at android.os.AsyncTask.access$600(AsyncTask.java:177)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at android.os.Handler.dispatchMessage(Handler.java:99)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at android.os.Looper.loop(Looper.java:137)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at android.app.ActivityThread.main(ActivityThread.java:4895)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at java.lang.reflect.Method.invokeNative(Native Method)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at java.lang.reflect.Method.invoke(Method.java:511)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:994)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:761)
09-24 15:48:34.337: E/AndroidRuntime(19843):    at dalvik.system.NativeStart.main(Native Method)

My Code:

public void startDownload(String apkUrl, String appName){

    DownloadManager.Request request = buildRequest(apkUrl, appName);

    long lastDownloadId = mDownloadManager.enqueue(request);

    Logger.d("In XYZDownloadManager, " + "AppName: " + appName + " with ID: " + lastDownloadId);

}

private DownloadManager.Request buildRequest(String apkUrl, String appName){

    Uri uri = Uri.parse(apkUrl);

    DownloadManager.Request appDownloadRequest = new DownloadManager.Request(uri);

    appDownloadRequest.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI
            | DownloadManager.Request.NETWORK_MOBILE)
            .setAllowedOverRoaming(false)
            .setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE)
            .setTitle(appName)
            .setDescription(WorkspaceApp.getAppContext().getResources().getString(R.string.app_download_description))
            .setMimeType("application/vnd.android.package-archive")
            .setDestinationInExternalFilesDir(mContext, Environment.DIRECTORY_DOWNLOADS, appName + ".apk");

    return appDownloadRequest;
}

解决方案

The issue was: the device had DownloadManager app disabled. At best, IMO, what we can do is notify user that the device has Download Manager disabled when we get IllegalArgument Exception when we enqueue a download and if he would want to enable it again.

这篇关于Android的下载管理问题的三星标签GT-P3100的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆