마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

블루투스 AIDL 인터페이스 연결 방법문의드립니다.

0 추천

안녕하세요

기존 프레임워크에 있는 블루투스 AIDL을 앱에서 사용하려고합니다.

그러면 앱에서 블루투스 AIDL인터페이스를 연결해주어야하는데 연결부분 소스는 아래와 같습니다.

BluetoothManager bm;

IBluetoothHeadset BluetoothHeadsetService;

@SuppressWarnings("unchecked") private void connectToTelephonyService() {
  try 
  {
  // "cheat" with Java reflection to gain access to TelephonyManager's ITelephony getter
  Class c = Class.forName(IBluetoothHeadset.class.getName());
  Field m = c.getDeclaredField("IBluetoothHeadset");
  m.setAccessible(true);
  BluetoothHeadsetService = (IBluetoothHeadset)m.get(bm);
  //BluetoothHeadsetService = (IBluetoothHeadset)m.invoke(bm);
 
  } catch (Exception e) {
  e.printStackTrace();
 
  finish();
  }
  }     
 
에러코드는 아래와같이 Null값이 올라오고 있습니다.
 
06-19 17:15:01.577: W/System.err(19412): java.lang.NullPointerException
06-19 17:15:01.577: W/System.err(19412): at com.example.bluetoothaidl.MainActivity.onCreate(MainActivity.java:54)
06-19 17:15:01.577: W/System.err(19412): at android.app.Activity.performCreate(Activity.java:5231)
06-19 17:15:01.577: W/System.err(19412): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
06-19 17:15:01.577: W/System.err(19412): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2148)
06-19 17:15:01.577: W/System.err(19412): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
06-19 17:15:01.577: W/System.err(19412): at android.app.ActivityThread.access$800(ActivityThread.java:135)
06-19 17:15:01.577: W/System.err(19412): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
06-19 17:15:01.577: W/System.err(19412): at android.os.Handler.dispatchMessage(Handler.java:102)
06-19 17:15:01.577: W/System.err(19412): at android.os.Looper.loop(Looper.java:136)
06-19 17:15:01.577: W/System.err(19412): at android.app.ActivityThread.main(ActivityThread.java:5001)
06-19 17:15:01.577: W/System.err(19412): at java.lang.reflect.Method.invokeNative(Native Method)
06-19 17:15:01.577: W/System.err(19412): at java.lang.reflect.Method.invoke(Method.java:515)
06-19 17:15:01.577: W/System.err(19412): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
06-19 17:15:01.577: W/System.err(19412): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
06-19 17:15:01.577: W/System.err(19412): at dalvik.system.NativeStart.main(Native Method)
06-19 17:15:01.627: W/InputMethodManagerService(753): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@4309ca38 attribute=null, token = android.os.BinderProxy@43087360
 
질문입니다.
1.기존 안드로이드 프레임워크에 AIDL을 앱단에서 함수호출을 하려면 어떤식으로 인터페이스를 연결해야되는지요.??
 
고수님 답변 부탁드립니다..
 
 
 
 
꿈꾸는바보 (180 포인트) 님이 2015년 6월 19일 질문

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...