1
正如您從圖片中看到的,當系統內存不足時,這是我的奇特媒體播放器通知的情況。此通知由服務發出,當系統內存不足時,系統也會自動停止該服務。
從行爲看來,Service
的onDestroy()
似乎沒有被調用,因爲它被實現來擺脫通知。所以,我決定實施onTrimMemory()
如下:
@Override
public void onTrimMemory(int memory){
Log.d("TRIM", "Please, Trim Memory");
String stop = getResources().getString(R.string.stopping_playback);
if(MusicService.status == 1){
stopService(PodcastrApplication.newInstance().getMusicServiceIntent());
}
Toast.makeText(PodcastrApplication.this, stop, Toast.LENGTH_SHORT).show();
}
但是這並沒有奏效。我甚至沒有看到Toast
或Log。
那麼,如何在系統內存不足時刪除通知?
PS:在發生這種情況時,確定MediaPlayer
已停止播放(自動)。這只是一個刪除通知的問題。
好和哪裏去這樣?在「MainActivity」中?我需要一個「IBinder」或類似的東西嗎?這對我來說是新的:) – 2014-09-01 14:32:11
我以爲,因爲你使用的是服務,這個概念對你來說很熟悉。 – 2014-09-01 14:33:18
好的,閱讀你的編輯。即使應用程序不專注,這也可以工作嗎?當用戶按下'HOME'按鈕時,會顯示notif :) * Like Google Play音樂* – 2014-09-01 14:47:14