1

当应用程序被杀死并且服务保持活动状态时如何从广播接收器启动服务。我的广播接收器:

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

}

当应用程序启动时,一切正常。但是当我杀死应用程序时,我只看到吐司,服务正在睡觉。请帮我!

4

1 回答 1

2

这里的“SirKnigget”的答案

它可能会从

启动服务(...)

开始前景(...)

并且还要小​​心退出应用程序

System.exit(0)

服务将停止。所以使用

结束()

退出应用程序。

您可以从http://developer.android.com/reference/android/app/Service.html找到更多信息

希望这有助于解决您的问题。

于 2013-10-23T14:12:11.177 回答