gpt4 book ai didi

android - getNetworkInfo() 在使用 API 23 的 Android Studio 中被弃用

转载 作者:搜寻专家 更新时间:2023-11-01 08:37:43 24 4
gpt4 key购买 nike

我的代码有问题。我正在学习教程,它使用的是旧 API。

这是我的代码:

package com.flax.security;

import android.content.Context;
import android.net.ConnectivityManager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

ConnectivityManager conman = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
TextView tv = (TextView) findViewById(R.id.mytextview);

boolean wifi = conman.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();

if(wifi) {
tv.setText("This wifi is on!");
} else {
tv.setText("The wifi is off!");
}


}
}

我的错误是说 getNetworkInfo 已经被弃用了。我该如何解决这个问题?我是 Android 开发的新手。

最佳答案

getNetworkInfo 的 javadoc说:

This method was deprecated in API level 23. This method does not support multiple connected networks of the same type. Use getAllNetworks() and getNetworkInfo(android.net.Network) instead.

因此您可以做的是在运行时检查 API 级别是否足够高以支持这两种方法,然后使用它们代替 getNetworkInfo。

您没有义务停止使用已弃用的 API。但考虑停止是个好主意。

您可以使用 IDE 来 suppress如果您只是不想看到它,也会收到警告。

关于android - getNetworkInfo() 在使用 API 23 的 Android Studio 中被弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35354102/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com