gpt4 book ai didi

java - BroadcastReceiver 中如何直接使用方法 "getSystemService"?

转载 作者:太空狗 更新时间:2023-10-29 15:38:03 24 4
gpt4 key购买 nike

我遇到了这个问题:getSystemService 定义在 Context 类中,所以我假设它在 context.getSystemService 时被调用。我无法理解以下代码,其中 BroadcastReceiver 中直接调用了 getSystemService。我运行代码,没有错误显示!

代码:

 public class MainActivity extends Activity {
……
class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager connectionManager = (ConnectivityManager)
getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isAvailable())
{
Toast.makeText(context, "network is available",
Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(context, "network is unavailable",
Toast.LENGTH_SHORT).show();
}
}
}
}

最佳答案

getSystemService()Context 的一部分。您需要使用在 onReceive() 方法中收到的 Context:

@Override
public void onReceive(Context context, Intent i) {
UsbManager manager = (UsbManager) context.getSystemService(Context.USB_SERVICE);
}

关于java - BroadcastReceiver 中如何直接使用方法 "getSystemService"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31151400/

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