/ / API Hook bei Verbindungsänderung - Android, Web-Services, Service, Architektur

API Hook auf Verbindungsänderung - Android, Web-Services, Service, Architektur

Ich habe eine Druckerprüfungs-App auf dem Android-Telefon, das grundlegende Prüfformular
Inspector kann an einer Druckerprüfung arbeiten, auch wenn er keine Internetverbindung hat.

Sobald das Telefon wieder mit der Rezeption / Internet erreichbar ist, möchte ich die Überprüfung einreichen.

Ich habe mir überlegt, die App mit einem Android-Service zu gestalten
So werden die Inspektionsdetails mit sqlite gespeichert und bei bestehender Internetverbindung die Inspektion erneut gesendet.

Dies erfordert jedoch eine regelmäßige Überprüfung des Internets. und verbraucht viel Batteriesaft.

Gibt es einen Haken, den ich für meine App registrieren kann, um die App oder den Dienst über die Internetverbindung zu benachrichtigen?

Antworten:

3 für die Antwort № 1

Einfacher Check für beide W-lan und Handy, Mobiltelefon Internet wie folgt ...

im Manifest.xml :

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


mach ein neues Rundfunkempfänger :

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;
}
}
}


und schlussendlich Service Manager Klasse:

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();
}
}


** Vergessen Sie nicht, die Erlaubnis zur Verwendung des Internets in Ihrem Internet Explorer hinzuzufügen Manifest Datei :

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



Schauen Sie sich auch diesen coolen Artikel auf vogella.com an AndroidServices ...