当应用程序被杀死并且服务保持活动时,如何从广播接收器启动服务。 我的BroadcastReceiver:
public class NetworkChangeReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
final ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
final android.net.NetworkInfo wifi = connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
final android.net.NetworkInfo mobile = connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
Intent intent1 = new Intent(context, ImageUploader.class);
if (wifi != null && wifi.isAvailable()) {
context.startService(intent1);
Toast.makeText(context, "start service execute", Toast.LENGTH_SHORT).show();
} else if(mobile != null && mobile.isAvailable()) {
context.startService(intent1);
}
}
}
申请开始时,一切正常。但当我杀了app时,我只看到吐司,服务正在睡觉。请帮帮我!
答案 0 :(得分:2)
来自Here
中“SirKnigget”的回答可能会改变
startService(...)
到
startForeground(...)
还要小心退出应用程序
System.exit(0)
服务将停止。所以使用
完成()
退出应用程序。
您可以在http://developer.android.com/reference/android/app/Service.html
中找到更多信息希望这有助于解决您的问题。