以Settings.APPLICATION_DEVELOPMENT_SETTINGS打开开发者面板出错总结

最近遇到了一个问题,感觉需要记录一下。

要打开开发者面板,之前的代码如下:

Intent intent = new Intent(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS);
context.startActivity(intent);

在我的机器上测试通过,但是发布出去后后台反馈会了崩溃错误:

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.APPLICATION_DEVELOPMENT_SETTINGS }

仔细看了看,出错的机型的os版本都是2.3的,于是找了台2.3的来进行测试。确实存在这样的错误,那么说明Settings.APPLICATION_DEVELOPMENT_SETTINGS这个字段在2.3版本里是不成立的。

在网上查看的api里Settings.APPLICATION_DEVELOPMENT_SETTINGS是起始于API 3,这样的话2.3的时候已经存在了。为了搞清楚,在网上下载了2.3版本Settings的源码,发现该action为<action android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS"/>,但是api中却显示为“android.settings.APPLICATION_DEVELOPMENT_SETTINGS”。那么错误就是在这里出现的,至于从哪个版本开始改变的,查了一会没有查到。由于时间问题,待以后再做详细查询。

不过问题该如何解决?可以做版本判断,用不同的字符串action来初始化Intnet。不过还可以用另外的方法,代码如下:

ComponentName componentName = new ComponentName("com.android.settings", "com.android.settings.DevelopmentSettings");
Intent intent = new Intent();
intent.setComponent(componentName);
intent.setAction("android.intent.action.View");
context.startActivity(intent);

这样的话就可以不用判断版本。

这个问题还是因为版本差异引起的,自己在这方面一直没有系统的学习,每次都是出现问题才去了解一点。这样其实在解决问题时会比较慢,而且不会提前避免这样的错误,看来该找时间好好学习一下这方面了。

以Settings.APPLICATION_DEVELOPMENT_SETTINGS打开开发者面板出错总结

时间: 2024-11-06 09:52:46

以Settings.APPLICATION_DEVELOPMENT_SETTINGS打开开发者面板出错总结的相关文章

Android 当打开“开发者模式”中的“不保留活动”后,程序应当怎么保持正常运行

Android 当打开"开发者模式"中的"不保留活动"后,程序应当怎么保持正常运行咧..? 在这几天,我一直在纠结这个问题.从发现,程序出现这个问题,是因为"开发者模式"中的"不保留活动"被打开了,到怎么获取"不保留活动"的值. 发现"不保留活动",是从京东客服端获得的灵感 得到"不保留活动"的值,是查看了Android原声的APP,Settings应用程序,查看源码

MSSql2008打开企业管理器出错,具体显示提示无法识别的配置节 system.serviceModel。

MSSql2008打开企业管理器出错详细信息: 标题: 已注册的服务器 ------------------------------ 无法读取此系统上以前注册的服务器的列表.请在“已注册的服务器”窗口中重新注册您的服务器. 有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1540+)&LinkId=20476 ----

opencv打开视频文件出错

使用C#调用mingw的so文件,在C++端使用opencv打开视频.这样的项目完成过了一个,第二次做的时候,发现opencv打开视频文件出错. 首先怀疑是opencv的opencv_ffmpeg2410.dll文件找不到,确认了文件位置仍然不行. 然后怀疑是新换的mingw32编译器问题,换回了老版本仍然不行. 最后确认了视频文件的存在性,传递文件名的正确性,一切正常,视频无法打开. 在试验过程中,出现了很多次segmentation fault的情况,发现是因为两个mingw32编译器和他们

小米3 打开开发者选项

小米3 打开开发者选项 进入设置界面,点击关于手机选项,如下图: 点击四次版本号! 然后就打开了开发者选项了. 点击返回键就能看到设置中多了开发者选项,如下图: 点击开发者选项就可以进入设置USB调试了! 小米3 打开开发者选项

怎么在Ubuntu手机中打开开发者模式

当我们刷最新的Ubuntu手机软件时,我们必须打开开发者模式.否则,当我们使用"adb"命令时,会出现如下的情况: 当手机和电脑连接后,不能查看到任何的device.当我们打开开发者模式后,我们可以看到如下的画面: 这里我们可以看到,我们通过"adb"命令可以看到连接到的device. 为了打开开发者模式,我们可以通过如下的步骤来操作: 1)打开"系统设置"应用 2) 选中"关于此手机" 3)点击"开发者模式&quo

Navicat for MySQL打开链接时出错错误为:2005 - Unknown MySQL server host &#39;localhost&#39;(0)?

问题:Navicat for MySQL打开链接时出错错误为:2005 - Unknown MySQL server host 'localhost'(0)? 在使用navicat 连接mysql数据库的时候会出现:mysql error 2005 - Unknown MySQL server host 'localhost'(0)错误:当检查连接信息,连接属性信息,用户名和密码都是正确的,IP地址为:localhost,在有网络的情况下都能正常打开数据库,但是一断网就出错了. 解决方案如下:在

如何在CAD中打开功能面板?

如何在CAD中打开功能面板?就是在刚刚接触到CAD的小伙伴们来对,CAD还是一个比较难的东西,开始操作起来就是一头雾水,什么也不知道,但是CAD中日常的工作就是绘制图形,当我们使用CAD编辑器来绘制图形的时候,总是一步一步的点击上方属性栏总是很麻烦,拿如何在CAD中打开功能面板?具体要怎么来操作了,今天就教教大家怎么在迅捷CAD编辑器中打开功能面板,想要了解的朋友就一起来看看具体操作步骤吧! 第一步:首先打开电脑桌面中任意的一个浏览器,在浏览器的搜索框中搜索迅捷CAD编辑器标准版,然后点击进入官

seleniumn 在运行时打开开发者工具(F12)

options = webdriver.ChromeOptions(); options.add_argument("--auto-open-devtools-for-tabs"); driver = webdriver.Chrome(chrome_options=options): 启动浏览器时会自动打开开发者工具 原文地址:https://www.cnblogs.com/tynam/p/11364262.html

MFC程序打开文件对话框出错的问题解决

前几天从网上下了个图像分析的mfc小程序,是VC6的 用VC6在本地编译生成都没问题,运行起来弹出一个未处理的错误,程序崩溃退出. 想起来原来遇到过打开文件对话框方面的问题,当时项目时间紧张未能深究. 这次要好好看下这个问题. 具体做法就是深入细致的跟踪.跟踪.跟踪... 应用代码,跟进 MFC的代码,跟进 Alt+8调出反汇编,跟进... 反复多次重复追踪.缩小目标,确定问题是:在CFileDialog 的析构函数中,调用了CString 的析构函数, 恰恰是析构CSring 出错了. CFi