title: Android ble app crash if bluetooth is turned off in android lollipop
body: <p>Hello I am try to scan the bluetooth ble device for Android Lollipop. It is working fine but if turned off the bluetotooth an then run the App it will crash and then give the pop up to enable the bluetooth.Ideally like it should give the pop up to enable bluetooth if it is turned off.</p>
  
  <p>This is the method, which should enable bluetooth:</p>
  
  <pre><code>   private void enableBluetooth() { 
     if(bluetoothAdapter == null) {
       //bluetoothState.setText("Bluetooth NOT supported"); } 
     else if(!bluetoothAdapter.isEnabled()) {
       //bluetoothAdapter.enable(); 
       Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE); 
       activity.startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT); 
       } 
     }
  </code></pre>
  
  <p>code to start scan</p>
  
  <pre><code>public void handleScanStart(View view) {
          foundDevices.clear();
          btArrayAdapter.clear();
          ble.startBleScan();
          scanButton.setEnabled(false);
         stopScanButton.setEnabled(true);
  }
  </code></pre>
  
  <p>Enable Start Scan </p>
  
  <pre><code>  public void startBleScan() {
          if(getScanning()) {
             return;
         }
  
            enableBluetooth();
           scanning = true;
  
  
           ScanFilter.Builder filterBuilder = new ScanFilter.Builder();                     //TODO currently default, scans all devices
          ScanSettings.Builder settingsBuilder = new               ScanSettings.Builder();
          settingsBuilder.setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY);
               List&lt;ScanFilter&gt; filters = new ArrayList&lt;ScanFilter&gt;();
                    filters.add(filterBuilder.build());
                     bluetoothLeScanner.startScan(filters, settingsBuilder.build(), scanCallback);
  
             Log.d(TAG, "Bluetooth is currently scanning...");
                        }
  </code></pre>
  
  <p>Below is the log file</p>
  
  <pre><code>    04-29 18:09:11.415: E/AndroidRuntime(26155): FATAL EXCEPTION: main
      04-29 18:09:11.415: E/AndroidRuntime(26155): Process: com.android.androidble5, PID: 26155
      04-29 18:09:11.415: E/AndroidRuntime(26155): java.lang.IllegalStateException: Could not execute method of the activity
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at android.view.View$1.onClick(View.java:4020)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at android.view.View.performClick(View.java:4780)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at android.view.View$PerformClick.run(View.java:19866)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at android.os.Handler.handleCallback(Handler.java:739)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at android.os.Handler.dispatchMessage(Handler.java:95)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at android.os.Looper.loop(Looper.java:135) 
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at android.app.ActivityThread.main(ActivityThread.java:5254)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at java.lang.reflect.Method.invoke(Native Method)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at java.lang.reflect.Method.invoke(Method.java:372)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
      04-29 18:09:11.415: E/AndroidRuntime(26155): Caused by: java.lang.reflect.InvocationTargetException
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at java.lang.reflect.Method.invoke(Native Method)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at java.lang.reflect.Method.invoke(Method.java:372)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at android.view.View$1.onClick(View.java:4015)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    ... 10 more
      04-29 18:09:11.415: E/AndroidRuntime(26155): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.bluetooth.le.BluetoothLeScanner.startScan(java.util.List, android.bluetooth.le.ScanSettings, android.bluetooth.le.ScanCallback)' on a null object reference
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at com.android.androidble5.BluetoothUtility.startBleScan(BluetoothUtility.java:204)
      04-29 18:09:11.415: E/AndroidRuntime(26155):    at com.android.androidble5.MyActivity.handleScanStart(MyActivity.java:247)
  </code></pre>