91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

泽库县| 南汇区| 鸡西市| 株洲县| 周口市| 卢氏县| 鄂托克前旗| 法库县| 晋宁县| 安吉县| 墨竹工卡县| 台山市| 太仆寺旗| 高邑县| 漯河市| 平山县| 肥西县| 毕节市| 文化| 文成县| 宜州市| 旅游| 隆尧县| 驻马店市| 平果县| 德庆县| 儋州市| 诸城市| 双流县| 商河县| 峡江县| 江阴市| 台中县| 康马县| 建瓯市| 贡山| 桑日县| 宁国市| 工布江达县| 治县。| 金华市|