亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

如何在非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

锡林郭勒盟| 西安市| 衢州市| 汝州市| 洛隆县| 辽中县| 普安县| 札达县| 图片| 丰原市| 房产| 石泉县| 绥芬河市| 西宁市| 黎川县| 翁牛特旗| 屯昌县| 石嘴山市| 郸城县| 玛多县| 桦甸市| 新邵县| 四川省| 石家庄市| 西平县| 彭泽县| 襄樊市| 微山县| 宣城市| 廊坊市| 白沙| 眉山市| 汶川县| 潼南县| 砀山县| 太原市| 谢通门县| 德庆县| 南和县| 轮台县| 霞浦县|