私のクラスにはこのようなメソッドがあります。Activity
@Override
public void onDestroy() {
Log.i("onDestory: ", "Inside OnDestory!");
bluetoothCommunicator.destroyedApp();
super.onDestroy();
}
メソッドは次のdestroyedApp()ようになります。
public void destroyedApp() {
if(server != null)
server.destroy();
}
server拡張するクラスのインスタンスはどこにありますかThread
シナリオは次のとおりです。
初めてアプリケーションを開いています。onCreateメソッド内で、を設定するbluetoothクラスの新しいインスタンスを作成しますBluetoothServerSocket。これは正常に機能し、ファイルを携帯電話に転送できます。
これは、スレッドがまだ生きているため、アプリケーションをバックグラウンドで使用している場合にも機能します。
だが
私がアプリケーションを殺しているとき、Activity Life Cycle

このonDestroy()メソッドは、Androidフレームワークによって呼び出される必要があります。そして、もう一度アプリケーションを起動すると、onCreateメソッドが呼び出されるはずですが、のインスタンスBluetoothServerSocketが作成されているようには見えません。LogCatBluetoothファイルを送信するデバイスは次のようにしか表示しないため、情報はありません。
Error Log:
Write Error:
Transport endpoint is not connected
__obex_connect:
error=-2
Unable to connect to the server
Error
BluetoothServerSocketこれは、が「生きている」わけではないことを教えてくれます
これをどのように達成できるかについての提案はありますか?