android - 有关服务的重写方法onBind为何不能在Activity中人为主动调用?
PHP中文网
PHP中文网 2017-05-16 13:21:50
0
2
604

安卓中的服务类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应用运行的基础, 是由系统维护管理的. 任性创建四大组件的对象也不是不可以, 只是没有大多意义.

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板