當前位置:首頁 » 城管服務 » 安卓關閉服務

安卓關閉服務

發布時間: 2020-12-31 02:19:21

『壹』 Android怎麼打開/關閉系統解鎖服務

轉載 Android如何打開/關閉系統解鎖服務?—典型錯誤分析
最近正在做一個Android的解鎖應用,需要屏蔽系統解鎖,並在適當的時候打開系統解鎖,在網上search了很多有關系統解鎖的資料,學到了很多關於系統解鎖方面的知識,同時也發現了很多網友犯下的一個共同的錯誤。現分享一下:
錯誤一:
總所周知,要關閉系統自帶的鎖屏服務需要用到以下代碼:
mKeyguard = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
mKeylock = mKeyguard.newKeyguardLock("");
mKeylock.disableKeyguard();
要打開系統鎖屏服務需要以下代碼:
mKeylock.reenableKeyguard()
網上很多朋友對disableKeyguard()的理解為:將屏幕打開並解鎖,只要執行這個方法就會是屏幕變亮並自動解鎖!同樣reenableKeyguard()的作用是關閉屏幕並上鎖!
大錯而特錯了!
我們來看看google api對這兩個方法的解釋:
disableKeyguard: Disable the keyguard from showing. If the keyguard is currently showing, hide it. The keyguard will be prevented from showing again untilreenableKeyguard() is called.
reenableKeyguard: Reenable the keyguard. The keyguard will reappear if the previous call todisableKeyguard() caused it it to be hidden.
所以,disableKeyguard只是關閉系統鎖屏服務,調用該方法後並不會立即解鎖,而是使之不顯示解鎖,同樣reenableKeyguard是恢復鎖屏服務,並不會立即鎖屏!
錯誤二:
下面是通過兩個按鈕來模擬打開/關閉系統鎖屏的代碼:
package com.example.keyguard; import android.os.Bundle; import android.app.Activity; import android.app.KeyguardManager; import android.app.KeyguardManager.KeyguardLock; import android.content.Context; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.support.v4.app.NavUtils; public class KeyGuardActivity extends Activity { private Button myButtonOn, myButtonOff; private KeyguardManager km; private final String TAG = "KeyGuardTest"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_key_guard); /* 獲取KeyGuardManager對象 */ km = (KeyguardManager)this.getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE); myButtonOff = (Button)findViewById(R.id.buttonOff); myButtonOff.setOnClickListener(new Button.OnClickListener(){ public void onClick(View arg0) { /* 關閉系統鎖屏服務 */ km.newKeyguardLock(TAG).disableKeyguard(); } }); myButtonOn = (Button)findViewById(R.id.buttonOn); myButtonOn.setOnClickListener(new Button.OnClickListener(){public void onClick(View arg0) { /* 打開系統鎖屏服務 */ km.newKeyguardLock(TAG).reenableKeyguard(); } }); } }
這段代碼看起來很完美,但是執行之後會發現:只能關閉鎖屏服務,無法恢復鎖屏服務!
是什麼原因呢?
原來是在調用disableKeyguard和reenableKeyguard的時候必須使用同一個KeyguardLock對象!
程序略加修改:
package com.example.keyguard; import android.os.Bundle; import android.app.Activity; import android.app.KeyguardManager; import android.app.KeyguardManager.KeyguardLock; import android.content.Context; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.support.v4.app.NavUtils; /** * @author Onejune * @function 打開/關閉系統鎖屏服務測試 * @note 在打開/關閉系統鎖屏服務時必須使用同一個KeyguardLock對象,否則出錯 */ public class KeyGuardActivity extends Activity { private Button myButtonOn, myButtonOff; private KeyguardManager km; private KeyguardLock kl; private final String TAG = "KeyGuardTest"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_key_guard); /* 獲取KeyGuardManager對象 */ km = (KeyguardManager)this.getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE); /* 獲取KeyguardLock對象 */ kl = km.newKeyguardLock(TAG); myButtonOff = (Button)findViewById(R.id.buttonOff); myButtonOff.setOnClickListener(new Button.OnClickListener(){ public void onClick(View arg0) { /* 關閉系統鎖屏服務 */ kl.disableKeyguard(); } }); myButtonOn = (Button)findViewById(R.id.buttonOn); myButtonOn.setOnClickListener(new Button.OnClickListener(){ public void onClick(View arg0) { /* 打開系統鎖屏服務 */ kl.reenableKeyguard(); } }); } }

終於OK!

『貳』 安卓手機怎樣徹底關閉所有的定位服務

1、首先打開手機下拉通知欄,在快捷功能開關中關閉GPS,如圖所示。

『叄』 Android 初學者 關於app關閉service一直運行 求各位指點迷津

  1. Android5.0之前可以用雙守護進程 fork一個子進程來守護主進程

  2. 白名單,微信QQ等等之所以能夠存活,是因為系統商給了騰訊白名單,你調用清理內存時,並沒有真正的清理

『肆』 安卓手機怎樣徹底關閉所有的定位服務

告訴你安卓手機徹底關閉所有的定位服務的方法:

  1. 打開安卓手機,點擊設置。

  2. 將頁專面向下拉,然屬後可以找到隱私和安全下的定位服務。

  3. 點擊定位服務,將「訪問我的位置信息」這個選項關閉。

  4. 此時手機的所有應用都無法訪問定位服務了。

『伍』 Android中怎麼啟動關閉Service及功能解釋

啟動:
//首先注冊服務
<service
android:name="com.wangdeyu.service.MusicService"
android:exported="false" >
<intent-filter>
<action android:name="com.abc" />
</intent-filter>
</service>

//啟動服務
Intent service=new Intent(" com.abc");
startService(service);
//Service生命周期
①onCreate() 創建Service
②onStart(Intent intent, int startId) 啟動Service
③onDestroy() 銷毀Service
//關閉服務
stopService(service);

Service的生命周期方法比Activity少一些,只有onCreate, onStart, onDestroy
我們有兩種方式啟動一個Service,他們對Service生命周期的影響是不一樣的。
1 通過startService,就是上面這種
Service會經歷 onCreate --> onStart
stopService的時候直接onDestroy
如果是 調用者 直接退出而沒有調用stopService的話,Service會一直在後台運行。
下次調用者再起來仍然可以stopService。
2 通過bindService
Service只會運行onCreate, 這個時候 調用者和Service綁定在一起
調用者退出了,Srevice就會調用onUnbind-->onDestroyed
所謂綁定在一起就共存亡了。
注意:Service的onCreate的方法只會被調用一次,
就是你無論多少次的startService又 bindService,Service只被創建一次。
如果先是bind了,那麼start的時候就直接運行Service的onStart方法,
如果先是start,那麼bind的時候就直接運行onBind方法。如果你先bind上了,就stop不掉了,
只能先UnbindService, 再StopService,所以是先start還是先bind行為是有區別的。
Android中的服務和windows中的服務是類似的東西,服務一般沒有用戶操作界面,它運行於系統中不容易被用戶發覺,可以使用它開發如監控之類的程序。
服務不能自己運行,需要通過調用Context.startService()或Context.bindService()方法啟動服務。
這兩個方法都可以啟動Service,但是它們的使用場合有所不同。使用startService()方法啟用服務,調用者與服務之間沒有關連,
即使調用者退出了,服務仍然運行。使用bindService()方法啟用服務,調用者與服務綁定在了一起,調用者一旦退出,服務也就終止,大有「不求同時生,必須同時死」的特點。
如果打算採用Context.startService()方法啟動服務,在服務未被創建時,系統會先調用服務的onCreate()方法,
接著調用onStart()方法。如果調用startService()方法前服務已經被創建,多次調用startService()方法並不會導致多次創建服務,
但會導致多次調用onStart()方法。採用startService()方法啟動的服務,只能調用Context.stopService()方法結束服務,服務結束時會調用onDestroy()方法。
如果打算採用Context.bindService()方法啟動服務,在服務未被創建時,系統會先調用服務的onCreate()方法,
接著調用onBind()方法。這個時候調用者和服務綁定在一起,調用者退出了,系統就會先調用服務的onUnbind()方法,
接著調用onDestroy()方法。如果調用bindService()方法前服務已經被綁定,
多次調用bindService()方法並不會導致多次創建服務及綁定(也就是說onCreate()和onBind()方法並不會被多次調用)。
如果調用者希望與正在綁定的服務解除綁定,可以調用unbindService()方法,調用該方法也會導致系統調用服務的onUnbind()-->onDestroy()方法.

『陸』 求android中如何關閉服務

Service是粘性的,如果被至於後台是無法通過程序來關掉的,除非你在Service內部去通過綁定借回口或者廣播,答使用回調的辦法和發送廣播,才能夠通過主程序主動來關閉服務,否則只能等待用戶手動在後台將服務刪除!

『柒』 Android 無障礙服務怎麼關閉

依次點擊設置-更多設置-無障礙,找到你要關閉的無障礙服務,點擊關閉即可。不同手機可能操作步驟略有不同,但大同小異,基本都是差不多的。

『捌』 如何關閉android 後台服務

有以下幾種方法:
1、點擊菜單按鈕,顯示多個後台運行的軟版件,選擇要關閉的軟體;(安卓權觸屏機,屏幕下方的按鈕通常是:菜單鍵、主頁鍵、返回鍵)
2、手機重新啟動,會自動關閉運行的後台服務
3、安裝一些手機防護軟體,選擇優化系統
4、點擊設置,找到對應的軟體,結束進程

『玖』 安卓開發 關閉Service服務

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

『拾』 Android中怎麼啟動關閉Service及功能解釋

調用startService就是啟動service,調用stopService就是關閉service。

android中Service是運行在後台的東西,級別與activity差不多。既然說service是運行在後台的服務,那麼它就是不可見的,沒有界面的東西。可以啟動一個服務Service來播放音樂,或者記錄地理信息位置的改變,或者啟動一個服務來運行並一直監聽某種動作。Service和其他組件一樣,都是運行在主線程中,因此不能用它來做耗時的請求或者動作。

服務一般分為兩種:
1:本地服務, Local Service 用於應用程序內部。在Service可以調用Context.startService()啟動,調用Context.stopService()結束。在內部可以調用Service.stopSelf() 或 Service.stopSelfResult()來自己停止。無論調用了多少次startService(),都只需調用一次stopService()來停止。
2:遠程服務, Remote Service 用於android系統內部的應用程序之間。可以定義介面並把介面暴露出來,以便其他應用進行操作。客戶端建立到服務對象的連接,並通過那個連接來調用服務。調用Context.bindService()方法建立連接,並啟動,以調用 Context.unbindService()關閉連接。多個客戶端可以綁定至同一個服務。如果服務此時還沒有載入,bindService()會先載入它。

熱點內容
影視轉載限制分鍾 發布:2024-08-19 09:13:14 瀏覽:319
韓國電影傷口上紋身找心裡輔導 發布:2024-08-19 09:07:27 瀏覽:156
韓國電影集合3小時 發布:2024-08-19 08:36:11 瀏覽:783
有母乳場景的電影 發布:2024-08-19 08:32:55 瀏覽:451
我准備再看一場電影英語 發布:2024-08-19 08:14:08 瀏覽:996
奧迪a8電影叫什麼三個女救人 發布:2024-08-19 07:56:14 瀏覽:513
邱淑芬風月片全部 發布:2024-08-19 07:53:22 瀏覽:341
善良媽媽的朋友李采潭 發布:2024-08-19 07:33:09 瀏覽:760
哪裡還可以看查理九世 發布:2024-08-19 07:29:07 瀏覽:143
看電影需要多少幀數 發布:2024-08-19 07:23:14 瀏覽:121