我的代码中存在问题。我正在按照教程进行操作,并使用旧的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开发的新手。
答案 0 :(得分:3)
getNetworkInfo的javadoc说:
此方法在API级别23中已弃用。此方法不允许 支持相同类型的多个连接网络。使用 改为使用getAllNetworks()和getNetworkInfo(android.net.Network)。
所以你可以做的是在运行时检查API级别是否足够高以支持这两种方法,并使用它们而不是getNetworkInfo。
您无需停止使用已弃用的API。但考虑停止是一个好主意。
如果您不想看到它,也可以使用IDE suppress警告。