How to write a background service in android to check if device is connected to the internet or not? [duplicate]
Possible Duplicate:
Android service to check internet connectivity?
I am designing an Android app to track the total data usage (download+upload). The app does the following tasks :-
- Continuously checks if the device is connected to the internet or not.
- If the device is connected to the internet then start counting the uploaded and downloaded data.
- The count is stored in database and displayed to the user for the current session.
- When the app is installed the service should be started.
- When the device is rebooted, the service should be started. 开发者_高级运维
I have tried the following code but us this sufficient?
public final boolean isInternetOn()
{
ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
// ARE WE CONNECTED TO THE NET
if( connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED ||
connec.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTING ||
connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING ||
connec.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTED )
{
// MESSAGE TO SCREEN FOR TESTING (IF REQ)
//Toast.makeText(this, connectionType + †connectedâ€, Toast.LENGTH_SHORT).show();
return true;
}
else
{
if( connec.getNetworkInfo(0).getState() == NetworkInfo.State.DISCONNECTED ||
connec.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED )
{
//System.out.println(“Not Connectedâ€);
return false;
}
return false;
}
}
ANY HELP WOULD BE GREATLY APPRECIATED!
-Vaibhav.
Continuously checks if the device is connected to the internet or not.
Please don't. This is not needed for your use case.
When the app is installed the service should be started.
This is not supported by Android. It is also not needed for your use case.
When the device is rebooted, the service should be started.
This is not needed for your use case.
The use of TrafficStats
does not require an everlasting service. Please simply record values from TrafficStats
periodically, perhaps using AlarmManager
, so you do not need to keep stuff in memory all of the time.
精彩评论