gpt4 book ai didi

android - 连接性变化的 API Hook

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

我在安卓手机上有一个打印机检查应用程序,它的基本检查表
检查员即使没有互联网连接也可以进行打印机检查,

一旦电话恢复接收/互联网,我想提交检查。

我正在考虑使用 Android 服务设计应用程序
因此它将使用 sqlite 保存检查详细信息,然后在有互联网连接时重新提交检查。

但这需要服务来定期检查互联网。并且会消耗大量电池电量。

是否有一个钩子(Hook)可以让我注册我的应用程序以在互联网连接时通知应用程序或服务?

最佳答案

Wi-fi移动 互联网的简单检查如下...

Manifest.xml 中:

<receiver android:name=".com.yourapp.ConnectivityChangeReceiver" >
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>


制作一个新的BroadcastReceiver:

public class ConnectivityChangeReceiver extends BroadcastReceiver {

@Override
public void onReceive(final Context context, final Intent intent) {

if(checkInternet(context))
{
Toast.makeText(context, "Network Available Do operations",Toast.LENGTH_LONG).show();
}

}

boolean checkInternet(Context context) {
ServiceManager serviceManager = new ServiceManager(context);
if (serviceManager.isNetworkAvailable()) {
return true;
} else {
return false;
}
}
}


最后是 ServiceManager 类:

public class ServiceManager {

Context context;

public ServiceManager(Context base) {
context = base;
}

public boolean isNetworkAvailable() {
ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
return networkInfo != null && networkInfo.isConnected();
}
}


** 不要忘记在您的 ma​​nifest 文件中添加使用 Internet 的权限:

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />



另请查看 vogella.com 上的这篇超酷文章 AndroidServices ...

关于android - 连接性变化的 API Hook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44741016/

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