中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在非Activity中啟動、綁定Service(服務)

發布時間:2020-04-13 21:00:56 來源:網絡 閱讀:3062 作者:九界冰荒 欄目:開發技術

做Android開發的都知道,啟動或綁定服務的語句是startService、bindService,可是這兩個方法一般都只能在Activity中使用,也就是用Activity才能“.”的出這方法。那如何在非Activity中開始、綁定服務呢?

以Fragment為例:

一個MyFragment類是繼承Fragment,他不是Activity類型。但是,一個非Activity的類總是和Activity類有關聯的,需要在Activity中調用非Activity中的參數、方法之類,這就給了我們在非Activity類中調用startService、bindService的機會。即將Activity類名這個參數傳到非Activity中,然后調用方法啟動服務。

如在Activity中調用MyFragment的時候:

FragmentManager fragmentMgr = getSupportFragmentManager();

FragmentTransaction ft = fragmentMgr.beginTransaction();

MyFragment fragment = new MyFragment(this); 在這一句里加一個參數

ft.add(R.id.main_tab1_bofang, fragment );

ft.commit();

然后,我們在MyFragment中創建一個以Activity為參數類型的構造方法:

public MyFragment(Activity Activity) {

Log.e("onCreateView", "準備綁定服務");

Intent service=new Intent(Activity.getApplicationContext(),MusicService.class);

Activity.getApplicationContext().bindService(service, conn, Context.BIND_AUTO_CREATE);

}

注意事項:在一些類中,我們不能直接使用bindService這個方法,得通過Activity.getApplicationContext()來使用,如在TabActivity類中。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

明水县| 辽源市| 襄城县| 策勒县| 化隆| 屯昌县| 黔西| 盐边县| 镇赉县| 朝阳县| 崇州市| 新源县| 临清市| 西昌市| 仙居县| 汝城县| 富民县| 淳安县| 罗山县| 大英县| 五家渠市| 虎林市| 柘荣县| 商水县| 岑溪市| 屯昌县| 锦屏县| 垫江县| 偃师市| 上饶市| 凤城市| 乌审旗| 平塘县| 浦城县| 台东市| 浦北县| 双鸭山市| 永胜县| 彭水| 崇阳县| 叙永县|