안녕하세요
기존 프레임워크에 있는 블루투스 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을 앱단에서 함수호출을 하려면 어떤식으로 인터페이스를 연결해야되는지요.??
고수님 답변 부탁드립니다..