天道酬勤,学无止境

How to Enable Android Download Manager

I'm using Android Download Manager to download list of files. Lately I came across a crash report saying

Unknown java.lang.IllegalArgumentException: Unknown URL content://downloads/my_downloads

Then later, I figured it out that the reason is because user disabled Android Download Manager. I check if the Download Manager is disabled by checking it's package name with the code below.

int state = this.getPackageManager().getApplicationEnabledSetting("com.android.providers.downloads");

And now, I need to find a way to enable the Download Manager if it is disabled. I tried setting it's enable state with the permission in Manifest but I keep getting Security Exception.

this.getPackageManager().setApplicationEnabledSetting("com.android.providers.downloads", PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0);

<uses-permission android:name="android.permission.CHANGE_COMPONENT_ENABLED_STATE"/>

So I thought it might not be reachable because of it is a system app. (Google Play App does it).

Is there any way to redirect the user to the Download Manager Application Info view ? to let the user enables it ? If there is no way to enable it on run time programmatically.

评论

Please edit my answer if is not valid

Check if download manager is available:

   int state = this.getPackageManager().getApplicationEnabledSetting("com.android.providers.downloads");

if(state==PackageManager.COMPONENT_ENABLED_STATE_DISABLED||
state==PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER
||state==PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED){

// Cannot download using download manager
}

            else {
                request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, fileName);
                request.setDescription(fileName);   
                manager.enqueue(request); 
            }

And the solution for trying to enable download manager is:

packageName = "com.android.providers.downloads"

try {
    //Open the specific App Info page:
    Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
    intent.setData(Uri.parse("package:" + packageName));
    startActivity(intent);

} catch ( ActivityNotFoundException e ) {
    //e.printStackTrace();

    //Open the generic Apps page:
    Intent intent = new Intent(android.provider.Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);
    startActivity(intent);

}

Some folks were looking for an answer to this question and I just realized that the Answer made to this question is somehow deleted. So I want to answer my own question.

There is no way to activate/deactivate Download Manager directly, since it's system application and we don't have access to it.

Only alternative left is to redirect the User to the Info Page of Download Manager Application.

try {
     //Open the specific App Info page:
     Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
     intent.setData(Uri.parse("package:" + "com.android.providers.downloads"));
     startActivity(intent);

} catch ( ActivityNotFoundException e ) {
     e.printStackTrace();

     //Open the generic Apps page:
     Intent intent = new Intent(android.provider.Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);
     startActivity(intent);
}

Google Gmail Inbox has check whether the DownloadManager is been disabled,if true then show an AlertDialog to tell user to enable the DownloadManager in Settings.The screenshot show below:

I wrote a class called DownloadManagerResolver to fix this,hope this can help your.:)

public final class DownloadManagerResolver {

private static final String DOWNLOAD_MANAGER_PACKAGE_NAME = "com.android.providers.downloads";

/**
 * Resolve whether the DownloadManager is enable in current devices.
 *
 * @return true if DownloadManager is enable,false otherwise.
 */
public static boolean resolve(Context context) {
    boolean enable = resolveEnable(context);
    if (!enable) {
        AlertDialog alertDialog = createDialog(context);
        alertDialog.show();
    }
    return enable;
}

/**
 * Resolve whether the DownloadManager is enable in current devices.
 *
 * @param context
 * @return true if DownloadManager is enable,false otherwise.
 */
private static boolean resolveEnable(Context context) {
    int state = context.getPackageManager()
            .getApplicationEnabledSetting(DOWNLOAD_MANAGER_PACKAGE_NAME);

    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.JELLY_BEAN_MR2) {
        return !(state == PackageManager.COMPONENT_ENABLED_STATE_DISABLED ||
                state == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER
                || state == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED);
    } else {
        return !(state == PackageManager.COMPONENT_ENABLED_STATE_DISABLED ||
                state == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER);
    }
}

private static AlertDialog createDialog(final Context context) {
    AppCompatTextView messageTextView = new AppCompatTextView(context);
    messageTextView.setTextSize(16f);
    messageTextView.setText("DownloadManager is disabled. Please enable it.");
    return new AlertDialog.Builder(context)
            .setView(messageTextView, 50, 30, 50, 30)
            .setPositiveButton("ok", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    enableDownloadManager(context);
                }
            })
            .setCancelable(false)
            .create();
}

/**
 * Start activity to Settings to enable DownloadManager.
 */
private static void enableDownloadManager(Context context) {
    try {
        //Open the specific App Info page:
        Intent intent = new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
        intent.setData(Uri.parse("package:" + DOWNLOAD_MANAGER_PACKAGE_NAME));
        context.startActivity(intent);
    } catch (ActivityNotFoundException e) {
        e.printStackTrace();

        //Open the generic Apps page:
        Intent intent = new Intent(android.provider.Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);
        context.startActivity(intent);
    }
}
}

May be it's help to you.

downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);
   DownloadManager.Request request = new DownloadManager.Request(Download_Uri);
   //Restrict the types of networks over which this download may proceed.
   request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI | DownloadManager.Request.NETWORK_MOBILE);
   //Set whether this download may proceed over a roaming connection.
   request.setAllowedOverRoaming(false);
   //Set the title of this download, to be displayed in notifications (if enabled).
   request.setTitle("My Data Download");
   //Set a description of this download, to be displayed in notifications (if enabled)
   request.setDescription("Android Data download using DownloadManager.");
   //Set the local destination for the downloaded file to a path within the application's external files directory
   request.setDestinationInExternalFilesDir(this,Environment.DIRECTORY_DOWNLOADS,"CountryList.json");

   //Enqueue a new download and same the referenceId
   downloadReference = downloadManager.enqueue(request);

http://www.mysamplecode.com/2012/09/android-downloadmanager-example.html

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 在 inAppBrowser 中启用下载 - Phonegap / Cordova(Enable download in inAppBrowser - Phonegap / Cordova)
    问题 我正在使用cordova 3.5-0.26 & inAppBrowser 0.5.0 现在我正在 inAppBrowser 中加载一个外部页面。 有一个下载按钮。 当我按下下载时,它什么也不做。 我的东西下载在 inAppBrowser 中关闭。 就像在科尔多瓦视图中一样。 然后我尝试使用以下代码(适用于 Android)激活下载管理器 appView.setDownloadListener(new DownloadListener() { public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i); } }); 这也不适用于 inAppBrowser。 1) 如何在 inAppBrowser 中启用下载? 2)有没有办法用默认下载管理器捕捉下载? 3) 如果可能,请提及 ios 和 android 的解决方案。 如果不是 android 会做现在。 请帮忙... 回答1 InAppBrowser 不允许下载。
  • 我无法安装Intel HAXM(I can't install intel HAXM)
    问题 我安装了Android Studio,但没有任何问题。 但是,当我尝试运行仿真器时,它表示未安装英特尔HAXM。 因此,我找到了安装程序并运行它,即使它说我的笔记本电脑支持该安装程序,也未启用它。 我去启用了英特尔虚拟化技术(VT-x),但仍然收到相同的消息。 我听说有关Hyper-V的信息需要禁用,但是当我转到“打开/关闭Windows功能”时,在该列表中找不到它。 有人可以帮我弄这个吗? 回答1 好吧,所以我做了所有可能在网上找到的事情,但是没有任何效果。 因此,我去了英特尔网站,我下载了他们提供的HAXM安装程序(而不是使用通过Android Studio下载的安装程序)。 该安装程序实际上已完成安装,并已成功安装。 然后,我打开Android Studio,并最终加载了模拟器! 因此,对于其他任何有此问题的人,只需直接从英特尔网站下载安装程序即可。 这是链接: https://software.intel.com/zh-CN/android/articles/intel-hardware-accelerated-execution-manager 回答2 我认为您的问题是您认为Android SDK Manager中的安装程序实际上会安装Intel HAXM。 但是,最重要的是它不会安装它。 它的作用是提取(确实)安装英特尔HAXM所需的文件。 当我遇到相同的问题时
  • Enable download in inAppBrowser - Phonegap / Cordova
    I'm using cordova 3.5-0.26 & inAppBrowser 0.5.0 Now I'm loading an external page in inAppBrowser. There is a download button. When I press the download it doesn't do anything. I thing download is off in inAppBrowser. So as in the cordova view. Then I tried to active the download manager using following code (for Android) appView.setDownloadListener(new DownloadListener() { public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(url)); startActivity(i); } }); This
  • 如何在没有 hyper v 和模拟器的情况下使用 xamarin 开发 android 应用程序(How to develop android apps with xamarin without hyper v and emulator)
    问题 我正在使用 Windows 10 家庭版和 Visual Studio 2017。我想用 xamarin 开发 android 应用程序。 Windows 10 家庭版上没有 Hyper-V 功能,我买不起专业版,所以没有 hyper-v 模拟器就无法安装。 我应该怎么做来开发安卓应用程序? 有人想在不使用模拟器和 hyper-v 的情况下部署 android 应用程序吗? 先感谢您! 回答1 可以在不使用模拟器的情况下开发 Xamarin 应用程序。 但在这种情况下,您需要有一台 Android 设备来部署您的应用程序。 在您的系统上设置 Android SDK 管理器。 尽管 Xamarin 包含一个 SDK 管理器,但您可以从以下链接下载它。 Android SDK 管理器下载在您的系统上设置 ADB(Android 调试桥)(安装 Google USB 驱动程序) 在您启用 USB 调试(开发人员选项)后,将您的 Android 设备连接到系统。 连接设备后,它会提示您启用调试。 点击是,您将看到构建到您的设备的选项,如图所示。 回答2 您可以尝试在 windows android 模拟器上使用任何可用的。 我喜欢使用 Bluestack (https://www.bluestacks.com),使用步骤如下:
  • 如何使用 Android Studio 在真实设备中测试 Android 应用程序?(How to test android apps in a real device with Android Studio?)
    问题 我开始使用Android Studio IDE在 android 中进行开发,我在emulator上测试了我的应用emulator并且工作正常,但是当我尝试直接在我的设备中测试应用程序时无法识别它并且控制台显示下一条消息: 等待设备。 未找到 USB 设备 我在“运行”>“编辑配置...”中配置了“USB 设备”,在“常规”选项卡,菜单“目标设备”中我在我的设备中启用了“调试选项” 插入/拔出 USB 回答1 我终于可以在我的设备上运行了,只是我从设备的调试菜单中启用了“USB 调试”和“允许模拟位置”选项。 回答2 首先我们必须启用USB调试模式。 为此,请转到“设置” ->“开发人员选项” ->“手机中的USB 调试”检查它并允许它。 打开android studio后,点击SDK manager,勾选Google USB Driver并点击安装包。 安装 Google USB Driver 后,关闭 SDK Manager 窗口,通过 USB 线将您的手机或平板电脑连接到您的笔记本电脑或 PC。 现在单击我的电脑(Windows 7)(或)这台电脑(Windows 8.1)。选择管理。 选择设备管理器 –> 便携式设备 –> 您的设备名称右键单击您的设备名称,然后选择浏览我的计算机以查找驱动程序软件。 将其指向C:\Users\YourUserName\AppData
  • Android Studio - 未检测到 USB 设备(Android Studio - No USB devices detected)
    问题 我试图用我的手机玩 Android Studio 2.0 没有成功,我所做的是: 在我的手机中,Apps/gear icon/Settings/SYSTEM/{} Developer options/Android debugging/,启用 Android Debug Bridge(adb) 界面(设置勾号)。 用 USB 线将我的手机连接到我的电脑后,我在我的电脑文件夹中找到了 A0001。 在 A0001 中,我可以看到我手机中的文件。 在我的 PC 中,运行 Android Studio/bin/studio.exe,“选择部署目标”窗口显示消息“未检测到 USB 设备或正在运行的模拟器” 我尝试了两种不同的 USB 驱动程序,但没有运气。 也许我应该告诉 Android Studio 我的 USB 驱动程序在哪里? 但是,怎么样? 你能帮我吗? 回答1 我也遇到了同样的问题,我设法通过这种方式解决了它。 首先,在您的 android 设备中启用调试器模式。 从开始菜单转到设备管理器并尝试找到带有错误符号的ADB 接口。 这通常是因为 Windows 有时无法加载所有移动设备驱动器。 接下来,转到 http://adbdriver.com/downloads/ 并下载驱动程序安装程序,解压缩并运行它。 现在转到 Android Studio,您应该会发现一切正常。
  • 未启用英特尔X86仿真器加速器(HAXM安装程序)VT / NX(Intel X86 emulator accelerator (HAXM installer) VT/NX not enabled)
    问题 我想问如何为MacBook启用VT / NX,当我尝试使用X86仿真器时,在我看来VT / NX未启用,当我更新MacBook后,当我使用10.9系统时却从未出现过这种情况。在优胜美地看来,在我看来。 当我尝试启动x86模拟器时,它告诉我: Starting emulator for AVD 'X86' emulator: ERROR: x86 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: HAX is not installed on this machine (/dev/HAX is missing). 但是AVD告诉我我已经安装了HAXM。 当我尝试再次自行安装时,安装程​​序将打印VT/NX NOT ENABLED 。 我无法发布任何图片… to mindex的答案: 我尝试运行所有可以获得的英特尔HAXM版本: IntelHAXM_1.0.8.dmg IntelHAXM_1.1.0_for_10.10.dmg IntelHAXM_1.1.0_below_10.10.dmg 但这没有用。 回答1 从英特尔说明 “
  • 我如何启用通过Webview下载PDF的权限(How i can enable to Download PDF via Webview)
    问题 我是Android的新手,但是我创建了一个webview,它显示了一个wordpress页面,其中包含PDF的下载链接,但是当我点击它时,什么都没发生,希望您能为我提供帮助:) 显现 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.freizeitpark.plus" android:versionCode="1" android:versionName="1.2" > <uses-sdk android:minSdkVersion="8" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS
  • macOS 高山脉 (10.13) 上的英特尔 HAXM(Intel HAXM on macOS high sierra (10.13))
    问题 有没有办法在 High Sierra (10.13) 上使用 Android 模拟器? 当我跑 ./HAXM\ installation -u 它说: HAXM silent installation only supports macOS from 10.8 to 10.12 ! 回答1 命令行安装不起作用并给出不支持的 mac os 版本错误,而通过 IntelHAXM_6.2.1.mpkg 安装可以工作但由于“批准的内核扩展加载”更改而未加载 kext, 因此,您需要允许来自 Intel 的扩展并重新启动您的 Mac,然后像从 Android Studio 内部一样启动模拟器, 要启用转到系统偏好设置>安全和隐私,如屏幕截图所示: 回答2 我能够使用这篇文章中提供的说明在我的 Mac 上安装 Intel HAXM 驱动程序。 可能还有其他(更好的)解决方案,但我已经成功地以这种方式启动了模拟器。 本质上,您需要在尝试安装 HAXM 驱动程序之前禁用kext上的安全保护。 此命令仅适用于恢复操作系统,这意味着您需要重新启动 Mac 并按住command + R直到显示 Apple 标志。 接下来,您需要转到Utilities > Terminal并运行: csrutil enable --without kext 然后重启你的 Mac 并登录,去这里下载最新的 Intel
  • How to enable HTTP response caching in the DownloadManager?
    I want repeat requests for a URL to be served from a local cache, not re-downloaded from the server. I'm using the DownloadManager, hoping it'll be a convenient alternative to HttpURLConnection (saw it recommended), but it does no response caching by default. Here's my test code: final Context context = getContext(); final DownloadManager manager = Android.ensureSystemService( DownloadManager.class, context ); final DownloadManager.Request req = new DownloadManager.Request( Uri.parse( BIG_FILE_URL )); req.setNotificationVisibility( VISIBILITY_HIDDEN ); // hiding from user context
  • 在AMD处理器上运行Android Studio模拟器(Run Android studio emulator on AMD processor)
    问题 Android新手。 我的处理器是AMD,而不是Intel,因此我无法在Android studio中打开模拟器。 这个答案有一个注释:'您可以运行ARM(非Intel)仿真器映像。 从您的列表中,选择一个非Intel仿真。” 他们没有解释在哪里可以找到。 有任何想法吗? 谢谢 Android Studio模拟器和AMD CPU 回答1 好吧,首先,打开您的Android SDK Manager:工具-> ARM EABI v7a System Image > SDK Manager,然后选择要下载的任何平台/软件包,将其展开并选择ARM EABI v7a System Image或ARM 64 v8a System Image然后安装。 之后,打开Android AVD Manager:工具-> Android-> AVD Manager并创建一个模拟器。 您可以选择现有的或创建自己的。 为了获得更好的结果,您可能需要重新启动Android Studio。 [更新] 感谢@bjornredemption的线索。 按照Google针对Android Emulator v29 +的最新文档,导航至工具-> Android-> SDK管理器,然后选择“ SDK工具”选项卡并勾选以下选项: 适用于AMD处理器的Android Emulator Hypervisor驱动程序 然后单击
  • 无法看到Nexus 6P进行调试(Cannot see Nexus 6P for debugging)
    问题 我正在使用Windows 10,Dell XPS 13和Android Studio v1.4.1。 我已经安装了SDK工具24.4.1以及Google USB驱动程序11。#在电话上,我启用了USB调试功能,并且可以在文件资源管理器中查看该设备(即文档,图片等)。 但是该设备从不使用adb devices显示,也从未在Android Studio中显示。 我之前从未遇到过调试Android设备的麻烦,但是我不知道应该责怪的是棉花糖还是Nexus 6P。 更重要的是,我现在不知道该如何调试。 回答1 我遇到了这个确切的问题,并通过下载(http://developer.android.com/sdk/win-usb.html)并手动安装了Google USB驱动程序来解决了该问题。 在此之前,我尝试从无法运行的Android SDK Manager安装它。 该软件包安装正确,但我的设备管理器显示ADB接口设备失败。 从上面的链接下载/解压缩zip文件后,我在设备管理器中更新了失败的ADB接口驱动程序,现在我可以在Android Studio和带有adb的命令行中查看和使用我的手机。 我假设您也已在手机上启用了USB调试,如下所示:http://developer.android.com/training/basics/firstapp/running-app.html
  • 如何在 DownloadManager 中启用 HTTP 响应缓存?(How to enable HTTP response caching in the DownloadManager?)
    问题 我希望重复请求从本地缓存提供的 URL,而不是从服务器重新下载。 我正在使用 DownloadManager,希望它可以方便地替代HttpURLConnection (推荐看到它),但默认情况下它没有响应缓存。 这是我的测试代码: final Context context = getContext(); final DownloadManager manager = Android.ensureSystemService( DownloadManager.class, context ); final DownloadManager.Request req = new DownloadManager.Request( Uri.parse( BIG_FILE_URL )); req.setNotificationVisibility( VISIBILITY_HIDDEN ); // hiding from user context.registerReceiver( new BroadcastReceiver() { public void onReceive( final Context context, final Intent intent ) { context.unregisterReceiver( this ); // one shot for this test
  • 未找到亚行设备(ADB No Devices Found)
    问题 我正在尝试在全新的Nexus 10上安装Android应用。我有一个.apk文件。 我已经下载了Android SDK,安装了“ Android SDK工具”,“ Android SDK平台工具”和Google USB驱动程序。 我已经检查了Nexus 10上“未知来源”的设置。 当我从命令终端运行“ adb设备”时,它没有列出任何设备。 我尝试遵循此建议,因为它与我之前在Stack Overflow上找到的建议相同。 执行完这些步骤后,“ adb设备”仍会返回一个空列表,更糟糕的是,当我将Nexus 10连接到PC时,Windows不会在设备中显示任何文件夹。 我已经撤消了该链接中的步骤,以及到目前为止所做的所有其他工作,以及从设备管理器中卸载Nexus 10并重新安装它的操作,但是我仍然看不到设备中的任何文件夹。 我有什么想让我的设备出现在ADB设备中的东西吗? 如何使Windows查看设备中的文件夹? 回答1 Windows 8无法识别我的Nexus 10设备。 通过在设备上的设置对话框中将传输模式设置为相机(PTP)来解决。 设置>存储>菜单> USB计算机连接到“相机(PTP)” 回答2 对于Windows 8用户: 在尝试了这里给出的所有解决方案后,没有成功,我发现了这一点: 转到设备管理器 浏览计算机中的驱动程序->让我从计算机上的设备驱动程序列表中进行选择
  • 我有一个 AMD Ryzen CPU,但 Android 模拟器不工作(I have got an AMD Ryzen CPU and Android emulator doesn't work)
    问题 我有一个 AMD Ryzen CPU,但 Android 模拟器不工作。 它不启动模拟器,因为 CPU 不支持 x86 模拟器 回答1 更新- 我之前的答案不再正确。 谷歌在其最新的测试版中添加了 AMD 和 Hyper-V 支持。 感谢 ReverseCold 让我知道。 请看下面他的回答。 更新 2 - 我今天必须设置它。 为了节省一些谷歌搜索,这里是启用 Hyper-V 的 powershell 命令。 从微软的文档中提取 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 确保以管理员身份运行 powershell。 更新 3 - 结果表明Windows Hypervisor Platform和Hyper-V之间存在差异。 您需要启用第一个才能让 Android 模拟工作。 只需单击开始并键入打开或关闭 Windows 功能,直到您看到同名的控制面板选项。 然后从单击后弹出的菜单中启用该功能。 根据 This answer,仅在 Linux 上支持 Android 的 AMD 虚拟化。 如果 Ryzen 变得非常流行,也许他们会为 Windows 编写一个,但我不会屏住呼吸。 回答2 最新的测试版支持 Ryzen。 来源 以下来自谷歌博客文章:如果您的计算机中有 AMD
  • adb不显示nexus 5设备(adb doesn't show nexus 5 device)
    问题 Android Studio 0.3.6 Fedora 18 3.11.7-100.fc18.x86_64 Nexus 5 Kitkat 你好, 我一直在使用运行Android 4.1.2 Samsung Galaxy Tab 3 7.0使用adb一切正常。 但是,我刚刚购买了新的Nexus 5设备,当我执行以下命令adb devices它没有显示我的Nexus 5。 在Android SDK Manager | Extras | Google USB Driver | status "Not compatiable with Linux" Android SDK Manager | Extras | Google USB Driver | status "Not compatiable with Linux" 因为我正在运行Fedora 18如果需要驱动程序),我需要什么USB驱动程序? 因为三星工作正常,并且我可以部署和运行我的应用程序,所以我认为我的设置是正确的。 所以我想知道Nexus 5是否有问题。 我尝试了以下方法: adb kill-server adb start-server 设置Nexus 5 Camera PTP和media device MTP无效。 非常感谢您的任何建议, 回答1 我的Nexus 4(Android版本4.4.2)也有类似的问题
  • 适用于Windows OS的Intel的AMD HAXM等效产品(Intel's HAXM equivalent for AMD on Windows OS)
    问题 是否有与Intel的AMD HAXM(Windows OS)等效的产品,或者有人能够破解HAXM以使其在AMD处理器(Windows OS)上运行吗? 此外,与Google提供的默认Google API ARM / x86系统映像相比,Genymotion(http://www.genymotion.com)是否会更快? 我确切的开发机器规格: 操作系统:Windows 7 Ultimate 处理器:AMD FX 8120 8核心2.81 GHz 提前致谢! 回答1 来自Android文档(2016年3月): 在尝试使用这种类型的加速之前,您应该首先确定开发系统的CPU是否支持以下虚拟化扩展技术之一: 英特尔虚拟化技术(VT,VT-x,vmx)扩展 AMD虚拟化(AMD-V,SVM)扩展(仅Linux支持) CPU制造商的规格应指出它是否支持虚拟化扩展。 如果您的CPU不支持这些虚拟化技术之一,则您将无法使用虚拟机加速。 注意:虚拟化扩展通常通过计算机的BIOS启用,默认情况下经常关闭。 查看系统主板的文档,以了解如何启用虚拟化扩展。 大多数人都在谈论Genymotion更快,但我从未听说过有人说它更慢。 我绝对认为它会更快,并且值得花大约20分钟的时间来进行设置。 回答2 自2019年以来发布新答案。 TLDR :Windows和Linux现在都通过WHPX支持AMD,是的
  • 无法创建AVD Ok已禁用(AVD cannot be created Ok is disabled)
    问题 我已经安装了eclipse juno 4.2.1 Android SDK,已经创建了一个Android应用程序,并且在创建新的AVD时,尽管我确定了所有规格,但“确定”按钮始终处于禁用状态 这是我输入的规格 我不知道为什么有任何想法! 谢谢。 回答1 您没有安装系统映像, 转到window->Android SDK Manager ,然后下载该特定目标的avd的系统映像 回答2 您可以检查“ AVD名称”中是否有空格。 回答3 只需重新启动eclipse。尽管您下载了它仍然需要重新启动。 回答4 查看屏幕快照上的“ CPU / ABI”部分。 明确地说,没有为目标版本安装系统映像。 转到SDK Manager并为您的目标版本安装“ ARM EABI v7a系统映像”。 希望能帮助到你! 回答5 在遵循上述解决方案之后,我下载了系统映像,但是“确定”按钮的禁用无法被系统映像重新激活。 我试图优化HTC One X的RAM小于758M字节(小于硬件配置)的参数设置。可以重新激活“确定”按钮。 SDK Manager程序需要检查您机器中的可用RAM是否用于在SDK Manager仿真中进行测试。 我尝试在ADV虚拟设备中使用较小的RAM大小,然后系统可以立即启用“确定”按钮。 回答6 我只需要从下拉菜单中选择一种皮肤即可启用“确定”按钮。 回答7 可能的替代解决方案
  • 安装适用于Android的ADB接口驱动程序(Install ADB interface driver for android)
    问题 我试图通过设备管理器进行安装。 将手机连接到笔记本电脑后,在设备管理器的“其他设备”部分中获得了名为“ Celkon内置GSM手机”的链接。 我右键单击并单击了“ uddate驱动程序”,然后单击“从指定位置安装”,然后找到了“ inf”文件(usb2ser_2kXP.inf),但消息是“无法安装此硬件,并且”向导找不到所需的软件”。 。 那么,我该如何编辑“ inf”文件? 回答1 右键单击我的电脑->然后去管理->在设备管理器中的其他设备中选择您的设备->然后右键单击它并选择更新设备驱动程序->浏览我的计算机获取设备驱动程序->然后让我从列表中选择...--->选择显示所有设备,然后单击下一步--->拥有磁盘--->然后浏览--->然后转到sdk->额外-> google-> USB驱动程序->然后单击android_winusb.inf->单击打开 然后它将显示adb界面,然后安装它。 回答2 http://adbdriver.com/upload/adbdriver.zip 下载adb​​驱动程序安装程序并打开它将手机连接到PC(确保已启用USB调试) 无论是否安装电话,都会列出电话的驱动程序状态只需单击安装,如果有任何弹出窗口要求允许安装驱动程序,请稍等片刻安装驱动程序后,将手机重新连接到PC 注意:此驱动程序可以在任何Android设备上使用。 回答3
  • 在Eclipse的Android设备中看不到Nexus7(Not seeing Nexus7 in Eclipse's Android Devices [duplicate])
    问题 这个问题已经在这里有了答案: 8年前关闭。 可能重复: 亚行无法识别我的Galaxy Nexus-Win7 我没有在Eclipse的DDMS设备中看到我的Nexus7。 控制台中的DDMS和“ adb设备”显示了我的G1安卓手机,但没有显示Nexus7。 两款手机均启用了USB调试功能,据我所知,Eclipse是最新的,Android SDK的Google-USB-rev6 当我插入N7 USB时,确实看到安装了Windows7驱动程序,并且可以从文件管理器浏览该文件。 MTP / PTP没有区别(Microsoft Update的MTP驱动程序,PTP没有) 开发人员选项中的“选择调试应用程序”未显示任何内容。 选中“未知来源”。 尝试了不同的USB端口,切换了USB调试。 回答1 这是我为使其正常工作所做的工作: 我碰巧已经安装了适用于Samsung Galaxy Nexus的ADB驱动程序,如果没有,则需要下载这些驱动程序。 插入Nexus 7,Windows会自动找到2个驱动程序,但找不到“ Nexus”的任何驱动程序转到设备管理器,在“其他设备”下,您会看到带有黄色感叹号的“ Nexus”,右键单击>更新驱动程序>让我选择>让我选择计算机上的表单设备驱动程序。 向下滚动到“ SAMSUNG Android Phone”(同样,应该已经安装了Galaxy