service 一般有兩類一類是:startservice(),一類是bindservice().
生命週期也不太一樣。startservice(intent)舉乙個筆者曾經應用裡面為數不多的乙個service(),它設計的常景是:在mainactivity裡面開啟了service()服務去儲存,splashactivity裡面展示的乙個位址。
public class getsplashservice extends service
@override
public void oncreate()
@override
public int onstartcommand(intent intent, int flags, int startid)
service一般是執行在後台的無介面,所以一般作為監控來實現的。startservice()是不能進行訊息傳遞的,因為沒有返回結果。一般要進行傳遞,需要傳送廣播來更新操作。
一般服務start就脫離了操作不受監控,通常是不適用stopservice()來終止的。假如我們要開啟乙個服務,測試。使用完之後要關閉,這個時候就需要主動關閉服務。
componentname comp = new componentname("*********", "*********************x");
intent mintent = new intent();
mintent.setcomponent(comp);
mintent.setaction("***xx");
mintent.putextra(******x);
mintent.putextra(*********);
componentname mcom = startservice(mintent);
componentname comp = new componentname("******x", "*********");
intent mintent = new intent();
mintent.setcomponent(comp);
boolean ret = stopservice(mintent);
而bindservice(),主要是為了進行通訊,為什麼呢?因為它可以拿到這個onserviceconnected()方法裡面的binder,進行處理。筆者就簡單講乙個bindservice()的例子:
intent in=new intent();
in.setaction("");
in.setcomponent(new componentname("com.example.bindertest", "com.example.service.myservice" ));
bindservice(in, conn, bind_auto_create);
private ibinder mremote=null;
serviceconnection conn=new serviceconnection()
@override
public void onserviceconnected(componentname arg0, ibinder arg1)
};使用這個binderservice 有時候是使用了aidl 的跨程序操作。
安卓一些硬體相關的解釋
1 解釋一下線刷和雙清 2 一些英文解釋 主介面reboot system now 重啟手機 刷機完畢選擇此項就能重新啟動系統 wipe data factory reset 清除使用者資料並恢復出廠設定 刷機前必須執行的選項 wipe cache partition 清除系統快取 刷機前執行 系統...
一些安卓常用指令
1.adb常用指令 a 檢視當前執行的裝置 adb devices b 把電腦檔案複製到手機裝置上 adb push 為電腦上的磁碟路徑,如e xx.png 為手機上的目錄,如 sdcard c 把手機上的檔案複製到電腦上 adb pull 手機裝置上的目錄,sdcard xx.png 為電腦磁碟目...
安卓遇到的一些問題
1.frament 使用靜態的時候在布局中必須給fragment加id 否則報錯 2.在使用 bridgewebview時候安卓js雙方都得初始化 無論怎樣形式的互動,js 必須要初始化jsbridge bridge.init function message,responsecallback co...