當前位置:首頁 » 安卓系統 » android停止service

android停止service

發布時間: 2022-07-27 08:16:02

Ⅰ android service怎麼停止自己

[ 停止Service ]
在Activity中停止Service
[java] view plain
Intent intent = new Intent(this, ClassName.class);
stopService(intent);
在停止Service後,再啟動Service, 則又會調用onCreate(), onStartCommand()

Ⅱ Android如何啟用Service,如何停用Service。

1.第一種是通過調用Context.startService()啟動,調用Context.stopService()結束,startService()可以傳遞參數給Service
2.第二種方式是通過調用Context.bindService()啟動,調用Context.unbindservice()結束,還可以通過ServiceConnection訪問Service。
在Service每一次的開啟關閉過程中,只有onStart可被多次調用(通過多次startService調用),其他onCreate,onBind,onUnbind,onDestory在一個生命周期中只能被調用一次。

Ⅲ Android開發中關閉service的問題

因為Service已經在運行的時候把Alarm設定過了,只是把Service停止掉的話,並不會把定時取消。所以,在主activity中創建的按鈕通過stopService無法完成你的要求。你應該用AlarmManager取消在Service中設定的定時。

Ⅳ 在android中怎麼關閉一個service,要真正的關閉

因為你的Service注冊了對通話事件的監聽,所以每次電話進來的時候,系統會自動開啟你的Service。這個不是在Activity裡面可以關得掉的。需要你對通話事件注銷監聽。

Ⅳ androidservice已停止運行

首先我們可以嘗試清理該APP的緩存數據。依次進入「設置→應用程序→全部」,找到並點擊該APP的圖標,在應用信息界面中選擇「清除數據」以及「清除緩存」,再重新運行該APP即可。此外,如果某款APP只是偶爾會出現「應用程序停止運行」報錯提示,則可能是系統內存不足引起的,這樣的情況一般經常出現在1GB RAM手機上,運行前清理後台程序就可以了。

Ⅵ Android關閉service

stopService(new Intent(當前Activity.this, 後台Service.class));
這個是可以的啊

Ⅶ Android中如何啟用Service,如何停用Service

• Context.startService()
• Context.bindService()

1. 在同一個應用任何地方調用 startService() 方法就能啟動 Service 了,然後系統會回調 Service 類的
onCreate() 以及 onStart() 方法。這樣啟動的 Service 會一直運行在後台,直到
Context.stopService() 或者 selfStop() 方法被調用。另外如果一個 Service 已經被啟動,其他代碼再試圖調用
startService() 方法,是不會執行 onCreate() 的,但會重新執行一次 onStart() 。

2. 另外一種 bindService() 方法的意思是,把這個 Service 和調用 Service
的客戶類綁起來,如果調用這個客戶類被銷毀,Service 也會被銷毀。用這個方法的一個好處是,bindService() 方法執行後
Service 會回調上邊提到的 onBind() 方發,你可以從這里返回一個實現了 IBind
介面的類,在客戶端操作這個類就能和這個服務通信了,比如得到 Service 運行的狀態或其他操作。如果 Service
還沒有運行,使用這個方法啟動 Service 就會 onCreate() 方法而不會調用 onStart()。

總結:
1.
startService()的目的是回調onStart()方法,onCreate()
方法是在Service不存在的時候調用的,如果Service存在(例如之前調用了bindService,那麼Service的onCreate方法
已經調用了)那麼startService()將跳過onCreate() 方法。

2.
bindService()目的是回調onBind()方法,它的作用是在Service和調用者之間建立一個橋梁,並不負責更多的工作(例如一個
Service需要連接伺服器的操作),一般使用bindService來綁定到一個現有的Service(即通過StartService啟動的服
務)。
由於Service 的onStart()方法只有在startService()啟動Service的情況下才調用,故使用onStart()的時候要注意這點。

Ⅷ android如何判斷後台一個Service是否在運行

當你了解Service的生命周期以後,你就會明白,你可以在onStop 或者onDestroy()中記錄一下狀態,onStop 執行以後,那麼service肯定是停止的,Service是在一段不定的時間運行在後台,不和用戶交互應用組件。每個Service必須在manifest中 通過<service>來聲明。可以通過contect.startservice和contect.bindserverice來啟動。


Service生命周期

使用context.startService() 啟動Service是會會經歷:

context.startService() ->onCreate()- >onStart()->Service running

context.stopService() | ->onDestroy() ->Service stop



在Service每一次的開啟關閉過程中,只有onStart可被多次調用(通過多次startService調用),其他onCreate,onBind,onUnbind,onDestory在一個生命周期中只能被調用一次。

而啟動service,根據onStartCommand的返回值不同,有兩個附加的模式:

1. START_STICKY 用於顯示啟動和停止service。

2. START_NOT_STICKY或START_REDELIVER_INTENT用於有命令需要處理時才運行的模式。


Service不能自己運行,需要通過調用Context.startService()或Context.bindService()方法啟動服務。這兩個方法都可以啟動Service,但是它們的使用場合有所不同。

  1. 使用startService()方法啟用服務,調用者與服務之間沒有關連,即使調用者退出了,服務仍然運行。如果打算採用Context.startService()方法啟動服務,在服務未被創建時,系統會先調用服務的onCreate()方法,接著調用onStart()方法。如果調用startService()方法前服務已經被創建,多次調用startService()方法並不會導致多次創建服務,但會導致多次調用onStart()方法。採用startService()方法啟動的服務,只能調用Context.stopService()方法結束服務,服務結束時會調用onDestroy()方法。


  2. 使用bindService()方法啟用服務,調用者與服務綁定在了一起,調用者一旦退出,服務也就終止,大有「不求同時生,必須同時死」的特點。onBind()只有採用Context.bindService()方法啟動服務時才會回調該方法。該方法在調用者與服務綁定時被調用,當調用者與服務已經綁定,多次調用Context.bindService()方法並不會導致該方法被多次調用。採用Context.bindService()方法啟動服務時只能調用onUnbind()方法解除調用者與服務解除,服務結束時會調用onDestroy()方法。


官方文檔告訴我們,Android系統會盡量保持擁有service的進程運行,只要在該service已經被啟動(start)或者客戶端連接(bindService)到它。當內存不足時,需要保持,擁有service的進程具有較高的優先順序。

1. 如果service正在調用onCreate,onStartCommand或者onDestory方法,那麼用於當前service的進程則變為前台進程以避免被killed。

2. 如果當前service已經被啟動(start),擁有它的進程則比那些用戶可見的進程優先順序低一些,但是比那些不可見的進程更重要,這就意味著service一般不會被killed.

3. 如果客戶端已經連接到service (bindService),那麼擁有Service的進程則擁有最高的優先順序,可以認為service是可見的。

4. 如果service可以使用startForeground(int, Notification)方法來將service設置為前台狀態,那麼系統就認為是對用戶可見的,並不會在內存不足時killed。

Ⅸ 安卓開發 關閉Service服務

在onstop裡面activity並被有finish,只要在ondestroy裡面stop就行了

Ⅹ 手機出現很抱歉「AndroidSerVice」以停止運行怎麼就解開

若您的手機提示進程已結束,建議:
1.關機重啟。
2.將近期安裝的軟體卸載刪除。
3.若無效,請備份手機中數據(聯系人,簡訊,圖片等),然後恢復出廠設置。
若問題依然存在,請您攜帶購機發票、包修卡和機器送到三星服務中心,由專業的售後工程師幫助檢測。

熱點內容
一般轎車買哪個配置 發布:2025-01-21 12:47:26 瀏覽:233
高強度加密大師解密 發布:2025-01-21 12:41:56 瀏覽:188
腳本精靈開發平台 發布:2025-01-21 12:41:54 瀏覽:61
haproxy演算法 發布:2025-01-21 12:31:05 瀏覽:679
雲伺服器集合 發布:2025-01-21 12:30:17 瀏覽:381
如何給客戶講解代理伺服器 發布:2025-01-21 12:29:31 瀏覽:72
兩g顯卡開守望先鋒什麼配置 發布:2025-01-21 12:27:05 瀏覽:559
趣字演算法 發布:2025-01-21 12:27:02 瀏覽:842
安卓如何強開極限 發布:2025-01-21 12:26:15 瀏覽:371
linux怎麼安裝驅動 發布:2025-01-21 12:21:01 瀏覽:251