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

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

要打开开发人员面板,之前的代码例如以下:


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

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。

只是还能够用另外的方法,代码例如以下:


这种话就能够不用推断版本号。

这个问题还是由于版本号差异引起的,自己在这方面一直没有系统的学习,每次都是出现故障才去了解一点。

这样事实上在解决这个问题时会比較慢。并且不会提前避免这种错误,看来该找时间好好学习一下这方面了。


原文地址:https://www.cnblogs.com/cxchanpin/p/6739716.html