【问题标题】:Could not find method android.content.Context.getSystemService method找不到方法 android.content.Context.getSystemService 方法
【发布时间】:2016-06-02 21:31:17
【问题描述】:

我正在尝试在我的应用中获得网络连接。我的编译版本是 23,目标版本是 19。当我在 api 版本 23 的设备上运行我的应用程序时,一切正常。但是当我运行我的应用程序时,我收到错误“找不到方法 android.content.Context.getSystemService”使用 api 版本 19 的设备。

public class LoadingActivity extends AppCompatActivity {

private String TAG = LoadingActivity.class.getSimpleName();


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_loading);
    Log.d(TAG,"onCreate()");

}

@Override
protected void onStart() {
    super.onStart();
    Log.d(TAG,"onStart()");

    ConnectivityManager cm = (ConnectivityManager)getApplicationContext().getSystemService(Context.CONNECTIVITY_SERVICE);

    NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
        Boolean isConnected = (activeNetwork != null && activeNetwork.isConnectedOrConnecting());
    }
}

部分堆栈跟踪

06-03 00:23:36.439 1479-1479/com.example.andonsystem D/dalvikvm: VFY: replacing opcode 0x6e at 0x0002
06-03 00:23:36.447 1479-1479/com.example.andonsystem D/LoadingActivity: onCreate()
06-03 00:23:36.447 1479-1479/com.example.andonsystem D/LoadingActivity: onStart()
06-03 00:23:36.499 1479-1484/com.example.andonsystem D/dalvikvm: GC_CONCURRENT freed 271K, 10% free 2976K/3292K, paused 2ms+1ms, total 8ms
06-03 00:23:36.503 522-851/system_process I/ActivityManager: START u0 {cmp=com.example.andonsystem/.LoginActivity} from pid 1479
06-03 00:23:37.015 1479-1479/com.example.andonsystem I/dalvikvm: Could not find method android.content.Context.getSystemService, referenced from method com.example.andonsystem.LoginActivity.access$super
06-03 00:23:37.015 1479-1479/com.example.andonsystem W/dalvikvm: VFY: unable to resolve virtual method 473: Landroid/content/Context;.getSystemService (Ljava/lang/Class;)Ljava/lang/Object;
06-03 00:23:37.015 1479-1479/com.example.andonsystem D/dalvikvm: VFY: replacing opcode 0x6f at 0x004b

提前感谢您的帮助...

【问题讨论】:

  • 请在此处输入一些代码,以便您获得帮助!包括堆栈跟踪
  • 抱歉...我已经更新了我的问题...

标签: android network-connection


【解决方案1】:

您似乎导入了错误的 Context 类。包裹是android.content.Context。 (所以完全限定的方法是android.content.Context.getSystemService()

【讨论】:

  • 感谢您的宝贵时间,很抱歉我在移动网络上没有正确提问。我已经用详细信息更新了我的问题。您没有注意到我的问题...我说它在使用 api ver 23 的设备上运行良好。所以,我没有导入错误的上下文...当我在使用 api ver 19 的设备上运行相同的应用程序时出现问题。
【解决方案2】:

这显然意味着 Android 正在尝试调用在较旧的 API 级别上不存在的较新目标 Android 版本上存在的方法。操作系统通知您它正在替换方法。一般来说,应用程序将继续正常运行,除非没有兼容的替代方法。 appcompat 库应该提供这些替换。

【讨论】:

    猜你喜欢
    • 2011-10-01
    • 1970-01-01
    • 2020-05-07
    • 2020-03-16
    • 2021-05-31
    • 2018-10-28
    • 2011-04-01
    • 2017-02-15
    • 2019-09-18
    相关资源
    最近更新 更多