當前位置:首頁 » 安卓系統 » 啟動服務android

啟動服務android

發布時間: 2022-08-05 19:41:24

1. 如何在android系統中開啟自己的服務

Android開機啟動Service,需要使用BroadcastReceiver,Android系統,開機會發送一個開機廣播,可以通過BroadcastReceiver來接收開機廣播。
具體代碼:
1.在配置文件AndroidManifest.xml中向系統注冊receiver
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>

2.需要添加相應許可權
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

3.在Receiver中就可以添加開機需要進行的操作
public class BootCompletedReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {

}
}

4.執行開機後的操作,Intent intent = new Intent(context,Service.class); context.startService(intent); 這樣即可開機啟動Service了。

2. android廣播中怎麼啟動服務+csdn

無界面不能啟動service。。。你可以這樣設計。設計一個界面打開一次後將界面和app圖標隱藏 並啟動service和廣播android廣播中怎麼啟動服務+csdn

3. Android中關於服務啟動問題

  1. 如果你的service沒掛掉,那麼就走onStartCommand()

  2. 如果掛掉了,onCreate()->onStartCommand()

4. 怎麼查看Android設備中的啟動服務

今天給大家的小例子是列出Android設備中所有啟動的服務,及判斷某個服務是否開啟,具體步驟如下了:
第一步:新建一個Android工程,命名為RunningService。
第二步:修改RunningService.java代碼如下:
package com.tutor.runningservice;
import java.util.List;
import android.app.Activity;
import android.app.ActivityManager;
import android.os.Bundle;
import android.widget.TextView;
public class RunningService extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
TextView mTextView = new TextView(this);
ActivityManager mActivityManager =
(ActivityManager)getSystemService(ACTIVITY_SERVICE);

List<ActivityManager.RunningServiceInfo> mServiceList = mActivityManager.getRunningServices(30);
//我要判斷的服務名字,我在launcher2里加了一個音樂服務
final String musicClassName = "com.android.launcher2.MusicService";

boolean b = MusicServiceIsStart(mServiceList, musicClassName);

mTextView.setText("你要判斷的服務狀態為: " +b+"/n" + getServiceClassName(mServiceList));
setContentView(mTextView);
}
//通過Service的類名來判斷是否啟動某個服務
private boolean MusicServiceIsStart(List<ActivityManager.RunningServiceInfo> mServiceList,String className){

for(int i = 0; i < mServiceList.size(); i ++){
if(className.equals(mServiceList.get(i).service.getClassName())){
return true;
}
}
return false;
}
//獲取所有啟動的服務的類名
private String getServiceClassName(List<ActivityManager.RunningServiceInfo> mServiceList){
String res = "";
for(int i = 0; i < mServiceList.size(); i ++){
res+=mServiceList.get(i).service.getClassName()+ " /n";
}

return res;
}
}
第三步:運行上述工程,查看效果!

5. 安卓怎麼自動啟動service

1、首先創建一個廣播接收者,重構其抽象方法onReceive(Context context, Intent intent),在其中啟動你想要啟動的Service。import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class BootBroadcastReceiver extends BroadcastReceiver {
//重寫onReceive方法
@Override
public void onReceive(Context context, Intent intent) {
//後邊的XXX.class就是要啟動的服務
Intent service = new Intent(context,XXXclass);
context.startService(service);
Log.v("TAG", "開機自動服務自動啟動.....");

}

}
配置xml文件,在receiver接收這種添加intent-filter配置
<receiver android:name="BootBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
添加許可權處理
<!--此許可權在高版本中可以省略,你可以測試-->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
創建你需要啟動的service處理(的XXX)類,並在androidMainfest.xml文件中添加(XXX)service的配置即可。

6. android 怎樣啟動後台服務

後台服務就是後台運行的意思,只要單擊任務欄上代表這程序的按鈕,原來後台運行的程序就會到前台來,前台運行的程序就會到後台去了。如下圖所示。

Windows 7可以打開幾個窗口,每個任務分配一個窗口,各個窗口可以重疊、排開、放大、縮小、移動等,可以方便地在各打開的窗口間切換,各個打開的應用程序共享電腦資源,多任務環境對用戶是透明的,每個任務都可以按前台、後台和獨佔三種方式進行。

多任務並存時,打開一個窗口後,在任務欄的空白處單擊滑鼠右鍵,然後在彈出的快捷菜單中可以選擇層疊、橫向平鋪或縱向平鋪等。

當Windows 7打開了幾個窗口時,實際上只有一個是你可以對它進行操作的窗口,叫做當前活動窗口。在所有打開窗口的最前面,標題欄底色為深色的窗口為當前活動窗口。單擊任務欄上的按鈕,或按下換檔鍵加製表鍵,即可以把這個窗口切換為當前活動窗口。

任何已經打開,不在前台運行的窗口,在後台仍然是活動的,佔用內存和中央處理器等系統資源,所以,從這個意義上來說,長時間不用的窗口要及時關閉,方法是單擊應用程序窗口標題欄右上角的關閉按鈕。

;一個應用程序,無論是否最小化,在任務欄上都會以按鈕的形式顯示出來,當前活動窗口的應用程序的按鈕呈凹陷形狀,其餘呈隆起形狀。因此,判斷一個窗口是否關閉,只要看其是否還在任務欄中即可。

7. Android應用程序,當點擊「啟動服務」按鈕後,啟動後台服務,隨機產生一個隨機數

packagecom.accumulation.point;

importandroid.app.Service;
importandroid.content.Intent;
importandroid.os.IBinder;
importandroid.widget.Toast;

importcom.accumulation.point.utils.LogUtils;

{
@Override
publicvoidonStart(Intentintent,intstartId){
super.onStart(intent,startId);
LogUtils.e("mservice");
Toast.makeText(getApplicationContext(),Math.random()+"",Toast.LENGTH_LONG).show();
}


@Override
publicIBinderonBind(Intentintent){
returnnull;
}
}

startService(new Intent(this, mservice.class));

記得注冊<service android:name=".mservice" />

8. 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()方法.

9. android如何實現開機自動啟動Service或app

import
android.content.BroadcastReceiver;
import
android.content.Context;
import
android.content.Intent;
import
android.util.Log;
public
class
BootBroadcastReceiver
extends
BroadcastReceiver
{
//重寫onReceive方法@Overridepublic
void
onReceive(Context
context,
Intent
intent)
{
//後邊的XXX.class就是要啟動的服務
Intent
service
=
new
Intent(context,XXXclass);
context.startService(service);
Log.v("TAG",
"開機自動服務自動啟動.....");
//啟動應用,參數為需要自動啟動的應用的包名

10. android之服務的啟動服務和綁定服務的區別

1 通過startService
Service會經歷 onCreate --> onStart
stopService的時候直接onDestroy

如果是 調用者 直接退出而沒有調用stopService的話,Service會一直在後台運行。
下次調用者再起來仍然可以stopService。

2 通過bindService
Service只會運行onCreate, 這個時候 調用者和Service綁定在一起

調用者退出了,Srevice就會調用onUnbind-->onDestroyed
所謂綁定在一起就共存亡了。

熱點內容
javasocket讀取 發布:2025-01-19 16:59:48 瀏覽:336
魅族路由器在哪裡設置密碼 發布:2025-01-19 16:59:45 瀏覽:657
經濟與發展資料庫 發布:2025-01-19 16:59:44 瀏覽:727
出國訪問奪權 發布:2025-01-19 16:57:22 瀏覽:591
vb打開共享文件夾 發布:2025-01-19 16:57:11 瀏覽:484
怎麼查詢手機wifi密碼 發布:2025-01-19 16:41:31 瀏覽:187
linux編輯圖片 發布:2025-01-19 16:37:55 瀏覽:167
sql數據對比 發布:2025-01-19 16:32:09 瀏覽:232
magnet下載ftp 發布:2025-01-19 16:27:07 瀏覽:318
注冊密碼下劃線是什麼意思 發布:2025-01-19 16:23:58 瀏覽:806