Der Broadcast-Empfänger funktioniert nicht, wenn meine Internetverbindung ausgeschaltet ist, aber es funktioniert gut, wenn mein Internet verbunden ist.Android BroadcastReceivers onReceive nicht aufgerufen, wenn das Internet ausgeschaltet ist in redmi 2
Ich habe den automatischen Start in den Sicherheitseinstellungen für meine App aktiviert. Ich habe auch Redmi/Note3 neu gestartet, und in einigen Redmi2 funktioniert es gut.
Entweder ist die offline oder online, aber in einigen redmi2 Telefon seine vollständig funktioniert nicht
public void timerTask(final Context ctx){
Log.e("calling...","timer...");
Timer t= new Timer();
t.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
try {
Log.e("in try","catch...");
ConnectivityManager connectivityManager = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
/*if (connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED ||
connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED)*/
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isAvailable()){
//we are connected to a network
Log.e("timeTask","executing...");
try{my_details = new Database_Check_In_Helper(ctx);}catch (NullPointerException npe){npe.printStackTrace();}
Cursor res = my_details.call_log1();
// StringBuffer buffer = new StringBuffer();
while (res.moveToNext()) {
String phNum = res.getString(0);
String callType = res.getString(1);
String callDate = res.getString(2);
String callDuration = res.getString(3);
String phoneId = res.getString(4);
// String dtStart = "2010-10-15T09:27:37Z";
/* Date date = null;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
try {
date = format.parse(callDate);
Log.e("datefor",""+date);
*//*System.out.println(date);*//*
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
DateFormat formatter = new SimpleDateFormat("E MMM dd HH:mm:ss Z yyyy");
Date date=null;
try {
date = (Date) formatter.parse(callDate);
Calendar cal = Calendar.getInstance();
cal.setTime(date);
String formatedDate = cal.get(Calendar.DATE) + "/" + (cal.get(Calendar.MONTH) + 1) + "/" + cal.get(Calendar.YEAR);
Log.e("formatedDate",""+formatedDate);
}catch (ParseException pe){pe.printStackTrace();}
/* SimpleDateFormat sdf3 = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", Locale.ENGLISH);
Date d1 = null;
try{
d1 = sdf3.parse(callDate);
}catch (Exception e){ e.printStackTrace(); }*/
Log.e("data are",phNum+" "+callType+" "+date+" "+callDuration+" "+phoneId);
String url = "http://www.rentmystay.com/m/call_tracking_log";
ServiceNetworkConnection snc = new ServiceNetworkConnection(phNum, callType, date, callDuration, phoneId);
snc.execute(url);
}
}else{
Log.e("internet","not connected");
}
}catch (NullPointerException npe){
Log.e("npe ","come under excep");
npe.printStackTrace();
}
}
},0,5000);
}
Ich versuchte isConnected() Methode auch, aber es gibt keine Verwendung. Aber das Problem ist das gleiche – Chandu