gpt4 book ai didi

android - 如何在发现网络时自动将我的 android 应用程序连接到 Internet

转载 作者:行者123 更新时间:2023-11-29 20:55:22 26 4
gpt4 key购买 nike

我的 android 应用程序基于网络连接,即 WIFI/移动网络。当我的手机连接到互联网时它工作正常但是当互联网连接断开时它停止工作(肥胖)并且在我的手机再次连接到互联网后它仍然停止工作。

我希望在(重新)建立互联网连接时自动(重新)启动我的应用程序。

最佳答案

您可以使用广播接收器检查网络状态。只要网络可用,您就可以启动您的应用程序。

首先,创建后台服务并在设备启动时启动您的服务。现在,在这个服务中,注册一个广播接收器并监控网络状态。如果网络可用,您可以启动您的应用程序;如果不可用,您可以将其关闭。

广播接收器请引用下面的代码。

public class BroadCastSampleActivity extends Activity
{
/** Called when the activity is first created. */
@Override
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.registerReceiver(this.mConnReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION));
}

private BroadcastReceiver mConnReceiver = new BroadcastReceiver()
{
public void onReceive(Context context, Intent intent)
{
boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false);
String reason = intent.getStringExtra(ConnectivityManager.EXTRA_REASON);
boolean isFailover = intent.getBooleanExtra(ConnectivityManager.EXTRA_IS_FAILOVER, false);

NetworkInfo currentNetworkInfo = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
NetworkInfo otherNetworkInfo = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO);

if(currentNetworkInfo.isConnected())
{
Toast.makeText(getApplicationContext(), "Connected", Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(getApplicationContext(), "Not Connected", Toast.LENGTH_LONG).show();
}
}
};
}

关于android - 如何在发现网络时自动将我的 android 应用程序连接到 Internet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27915192/

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