问答详情
源自:2-2 AIDL案例(二)

两种方法都无法绑定到远程服务?也就无法调用ServiceConnection这个接口,导致报空指针异常

 @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);

       initView();
       //启动时绑定服务
       bindMyService();

   }

   private void bindMyService() {
       Intent intent=new Intent();
       
//    intent.setComponent(newComponentName("com.example.njh.aidltest",

        "com.example.njh.aidltest.MyAidlService"));
       intent.setAction("com.example.njh.AIDL_SERVICE");
       bindService(intent, conn, Context.BIND_AUTO_CREATE);
       Log.e("TAG", "333");
   }

提问者:njh_hjn 2016-03-22 10:07

个回答

  • Atals
    2016-03-24 22:23:56
    已采纳

    无法绑定到远程服务?
    1. 需要确认两端的AIDL下的包名和接口文件保持一致(包括名称)

    2. 确认远程服务端APP已启动.

    3. 确认绑定时包名,类名正确.(包名用的客户端的还是服务端的?)

  • njh_hjn
    2016-03-25 11:04:48

    之前以为绑定服务会自动启动服务端,就没有去启动远程服务端的app,现在启动服务端APP后再启动客户端就能正常的运行!