2013-10-23 54 views
1

如何在應用程序被終止並且服務保持活動狀態時從廣播接收器啓動服務。 我的廣播接收器:從brodcast接收器啓動android服務

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

}

當應用程序被啓動,所有做工精細。但是,當我殺了應用程序,我只看到敬酒,服務正在睡覺。請幫幫我!

回答

2

從 「SirKnigget」 的答案Here

它可能是從

startService(...)

變化

startForeground(。 ..)

而且還小心退出由

System.exit應用(0)

的服務將停止。因此,使用

完成()

從應用程序中退出。

您可以找到http://developer.android.com/reference/android/app/Service.html

希望這有助於爲您解決問題的其他信息。