2016-08-30 62 views
0

在我的应用程序中,我需要执行一个函数与targetSdkVersion = 22,但是我希望我的应用程序有targetSdkVersion = 24。我的尝试是创建一个模块后,我添加为我的应用程序的依赖项,其中这些模块有targetSdkVersion = 22。问题是,当我从我的模块运行功能,它运行目标= 24.编辑:也许我可能已经解释得很糟糕。我希望为所有sdk执行相同的功能,但是如果将我的应用targetSdkVersion设置为22,则该函数可以正确运行。存在某种方式可以做到这一点,无需创建目标= 22的secundary应用并从我的主应用调用它。应用程序与模块,其中包含不同的targetSdkVersion,应用程序

(我需要targetSdkVersion = 22来执行这一行:Settings.System.putInt(getContentResolver(), "button_key_light", -1),只是效果很好的Android 6,如果我的应用程序的targetSdkVersion是< = 22;

谢谢

+0

您可以随时在条件中检查BUILD.VERSION.SDK_INT <= 22',以确保版本兼容性。 – Shaishav

回答

0

在我的应用我需要targetSdkVersion = 22执行一个功能,但是我想我的应用程序has targetSdkVersion = 24

对不起,这是不可能的。 targetSdkVersion适用于整个应用程序。您在模块中提供的targetSdkVersion默认会被应用程序的targetSdkVersion覆盖。您可能可以修改规则以使模块的targetSdkVersion成为替代使用的模块。但是,无论哪种情况,结果值都会用于整个应用程序,包括您的库模块。

+0

oh :(你知道在targetSdkVersion> = 23上执行这行代码的一些方法:Settings.System.putInt(getContentResolver(),“button_key_light”,-1)?? – FayaX

+0

@FayaX:不, t甚至不知道'button_key_light'是什么。 – CommonsWare

+0

用于关闭容量按钮背光。 – FayaX

0

您可以使用此条件:

如果(Build.VERSION.SDK_INT < = 22)

,或者你还可以在功能的开始时使用此anotation

@TargetApi(Build.VERSION_CODES.X)(其中X是您想要的版本的名称)

+0

谢谢你的回应,但我编辑了我的问题。我可能解释得很糟糕。 – FayaX

相关问题