Android Studio 使用MQTT協議開發應用時怎樣關閉MQTT連接
Android Studio 使用MQTT協議開發應用時關閉MQTT連接
在使用mqtt開發的時候,有時候需要通過 返回 按鈕關閉界面或者Activity時,關閉當前頁面使用的mqtt連接,這里有兩種方式徹底銷毀MQTT連接。
方法一:
使用onDestroy()如下:
@Overridepublic void onBackPressed(){this.onDestroy();}
但是這種方法有個缺點,這種方法是徹底銷毀當前activity,而且需要按兩次返回鍵,才能關閉當前activity。
方法二:
只是關閉activity,使用finish()來實現,但是這樣需要先取消所有訂閱,再關閉連接,在關閉mqtt客戶端,代碼如下:
private void disconnect(){try{if (client != null){client.unsubscribe(mqtt_sub_topic);//取消訂閱client.disconnect();//關閉連接client.close();//關閉客戶端client = null;}} catch (MqttException e) {e.printStackTrace();}}public void onBackPressed(){this.disconnect();this.finish();}