2017-10-11 17 views
0

私はAndroidからBluetoothLeGattの例を使用しましたが、今接続しようとしているデバイスのUUIDに応じてXMLファイルをロードします。UUIDとGattServiceリストを比較してください

私はUUIDを次のコードと比較しようとしました。機能付き

mBluetoothLeService.getSupportedGattServices().equals("0003CBBB-0000-1000-8000-00805F9B0131") 

:私が間違っているのは何

public List<BluetoothGattService> getSupportedGattServices() { 
    if (mBluetoothGatt == null) return null; 

    return mBluetoothGatt.getServices(); 
} 

?私はあなたの質問を理解あたりとして

FATAL EXCEPTION: main 
                       Process: com.example.android.bluetoothlegatt, PID: 1314 
                       java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.bluetoothlegatt/com.example.android.bluetoothlegatt.DeviceControlActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List com.example.android.bluetoothlegatt.BluetoothLeService.getSupportedGattServices()' on a null object reference 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2924) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2985) 
                        at android.app.ActivityThread.-wrap14(ActivityThread.java) 
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1635) 
                        at android.os.Handler.dispatchMessage(Handler.java:102) 
                        at android.os.Looper.loop(Looper.java:154) 
                        at android.app.ActivityThread.main(ActivityThread.java:6692) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358) 
                       Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.util.List com.example.android.bluetoothlegatt.BluetoothLeService.getSupportedGattServices()' on a null object reference 
                        at com.example.android.bluetoothlegatt.DeviceControlActivity.onCreate(DeviceControlActivity.java:483) 
                        at android.app.Activity.performCreate(Activity.java:6912) 
                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1126) 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2877) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2985)  
                        at android.app.ActivityThread.-wrap14(ActivityThread.java)  
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1635)  
                        at android.os.Handler.dispatchMessage(Handler.java:102)  
                        at android.os.Looper.loop(Looper.java:154)  
                        at android.app.ActivityThread.main(ActivityThread.java:6692)  
                        at java.lang.reflect.Method.invoke(Native Method)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1468)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358 

答えて

0

:ここ

はエラーコードです

List<BluetoothGattService> services = mBluetoothLeService.getSupportedGattServices(); 
for (int i = 0; i < services.size(); i++) { 
     BluetoothGattService gattService = services.get(i); 
if(gattService.getUuid().toString().equalsIgnoreCase("0003CBBB-0000-1000-8000-00805F9B0131")) 
     Log.e("SERVICES : ", "" + gattService.getUuid()); 
     } 
    } 
関連する問題