0
您好我有問題啓動IntentService作爲前臺服務。不幸的是,官方教程並沒有告訴我很多方法不存在,有些已被棄用,而且也沒有說它們提供的代碼的放置位置。前景中的Android IntentService
我創建了自己IntentService,我已經重寫onCreate方法。它看起來如下:
@Override
public void onCreate(){
super.onCreate();
Intent notificationIntent = new Intent(this, Settings.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
Notification notification = new Notification.Builder(this)
.setContentTitle(getText(R.string.serviceName))
.setContentText(getText(R.string.serviceDescription))
.setSmallIcon(R.mipmap.ic_launcher)
.setOngoing(true)
.setContentIntent(pendingIntent)
.build();
startForeground(101, notification);
我知道這不是調試現場,但肯定有一些東西很明顯,我很想念。 Settings類是我的Activity類,從中調用startService,我還將所有需要的東西都設置爲通知,並將startForeground稱爲非零第一個參數。儘管我很確定該服務在後臺工作,但仍然沒有通知出現。
任何幫助,將不勝感激(順便說一句,我已經搜索了在前臺SO woth服務不同的主題,但沒有幫助。)
你的用例是什麼讓它在前臺? – apelsoczi
應用程序是:你設置一些設置即。電話號碼。從設置活動中,按下啓動按鈕,服務啓動並監聽一些事件,如果發生事件,服務會發出呼叫(例如,在電話發起動作時有用,但它獨自留在家中)。我希望通知用戶,該服務處於活動狀態。您可以從設置活動中禁用服務。 – DawidPi
由於一個IntentService是onHandleIntent後立即銷燬()完成後,你可能不希望一個IntentService – ianhanniballake