android - 有關服務的重寫方法onBind為何不能在Activity中人為主動呼叫?
PHP中文网
PHP中文网 2017-05-16 13:21:50
0
2
588

安卓中的服務類別Service裡面有一個方法onBind,為何不能在MainActivity中建立一個繼承自Service類別的物件後,主動呼叫這個方法呢?而onBind方法的存取權也是public,我在MainActivity中取得了MyService類別物件後,發現無法呼叫onBind方法,這是什麼情況呢?

public class MyService extends Service
{

    private DownloadBinder mBinder=new DownloadBinder();

    class DownloadBinder extends Binder
    {
        public void startDownload()
        {
            Log.d("MyService","startDownload executed");
        }

        public int getProgress()
        {
            Log.d("MyService","getProgress executed");
            return 0;
        }
    }

    public MyService()
    {
    }

    @Override
    public IBinder onBind(Intent intent)
    {
        return mBinder;
    }

}
PHP中文网
PHP中文网

认证高级PHP讲师

全部回覆(2)
阿神

儘管你對Service的使用是不對的,但拋開這些,你創建 MyService,然後直接調用 myService.onBind(null),應該在Java使用層面,沒有問題。這裡不談 DownloadBinder

Ty80

舉例說明:

  1. Google和你都能組裝一台Android手機;

  2. 你自己組裝的, 玩壞了只能自己修理;

  3. Google出售的, 會納入品牌的保固政策.

四大組件是Android應用運行的基礎, 是由系統維護管理的. 任性創建四大組件的對像也不是不可以, 只是沒有大多意義.

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!