Android 我可以在我的应用程序中使用私有API然后上传到Google play market吗?

Android 我可以在我的应用程序中使用私有API然后上传到Google play market吗?,android,Android,在我的应用程序中,我使用了下面的代码片段 public static void setMobileDataEnabled(Context context, boolean enabled) { try { final ConnectivityManager conman = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); final Class<?> conma

在我的应用程序中,我使用了下面的代码片段

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();
}
publicstaticvoid setMobileDataEnabled(上下文上下文,布尔启用){
试一试{
final ConnectivityManager conman=(ConnectivityManager)context.getSystemService(context.CONNECTIVITY_SERVICE);
最后一个类conmanClass=Class.forName(conman.getClass().getName());
最终字段iConnectivityManagerField=conmanClass.getDeclaredField(“MSService”);
iConnectivityManagerField.setAccessible(true);
最终对象iConnectivityManager=iConnectivityManagerField.get(conman);
最终类iConnectivityManager类=Class.forName(iConnectivityManager.getClass().getName());
最终方法setMobileDataEnabledMethod=iConnectivityManagerClass.getDeclaredMethod(“setMobileDataEnabled”,Boolean.TYPE);
setMobileDataEnabledMethod.setAccessible(true);
调用(iConnectivityManager,已启用);
}捕获(例外e){
e、 printStackTrace();
}

有人知道当我在应用程序中使用这段代码时,谷歌仍然允许我上传应用程序,或者会阻止/拒绝——因为它是私有API/禁止API?

是的,它是受支持的,甚至在您希望在一个apk文件中兼容多个版本的安卓操作系统的情况下建议使用

你可以查看android官方博客上关于反思的文章


如果它现在可以工作,它也可以在市场上工作。你可以自由使用反射。我只是怀疑我的应用程序在上传到市场时的能力,因为上面的代码片段将使用标记为“private”的功能自动打开移动互联网数据来自sdk。不幸的是,我现在没有任何帐户可以上传来测试我的怀疑…我知道了。我在市场上找到了一个应用程序,它使用了上面相同的代码,正在工作。谢谢。谢谢。我找到了一个应用程序,autoswitch 3G没有用户操作:我已经反编译了那个apk,发现他们使用了与我上面相同的代码:D