在我的应用程序中,我使用了下面的代码段
public static void setMobileDataEnabled(Context context, boolean enabled) {
try {
final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final Class<?> conmanClass = Class.forName(conman.getClass().getName());
final Field iConnectivityManagerField = conmanClass.getDeclaredField("mService");
iConnectivityManagerField.setAccessible(true);
final Object iConnectivityManager = iConnectivityManagerField.get(conman);
final Class<?> iConnectivityManagerClass = Class.forName(iConnectivityManager.getClass().getName());
final Method setMobileDataEnabledMethod = iConnectivityManagerClass.getDeclaredMethod("setMobileDataEnabled", Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
setMobileDataEnabledMethod.invoke(iConnectivityManager, enabled);
} catch (Exception e) {
e.printStackTrace();
}
有人知道我在我的应用程序中使用此代码时,Google仍然允许我上传我的应用程序,或者会阻止/拒绝 - 因为它是私有API /禁止API?
答案 0 :(得分:1)
是的,它支持,甚至建议您在一个apk文件中与多个版本的Android OS兼容的情况。
你可以查看android官方博客中有关反思的文章。
http://android-developers.blogspot.com.br/2009/04/backward-compatibility-for-android.html