我致电BluetoothAdapter#cancelDiscovery()
后不久,我的应用程序重新启动。换句话说,我的Application
子类的onCreate
方法被调用。设备使用的是Android 2.1版。
我很难确定导致此应用程序重启的具体原因。
是否有任何技巧可以帮助找出导致此类问题的原因?
非常感谢你的时间。
更新
当我中断BluetoothSocket#connect()
尝试先前存储但当前不可用的设备地址时,重启正在进行;当我按Activity
物理按钮转换到自定义菜单时,父版Menu
被销毁会导致此中断。
Logcat显示我正在运行的线程在我设置的通信周期中结束。此时会向Handler
发送一条消息;它将即将收到消息,但应用程序然后重新启动,handleMessage(msg)
不会被调用。
Handler在此事件发生之前已收到消息,我知道该引用仍然存在非null。我不认为这是问题的根源。
这是我的清单:
的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ndb.mindpad" android:versionCode="1" android:versionName="8.4">
<application android:name=".MindPad" android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Main"
android:label="@string/app_name"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:configChanges="orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Preferences"
android:label="@string/preferences_label"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"
android:configChanges="orientation">
</activity>
<activity android:name="DeviceList"
android:label="@string/communicator_label"
android:configChanges="orientation">
</activity>
<service android:name="BluetoothService" />
<service android:name="RecognizerService" />
</application>
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- Min Android SDK 2.1 -->
<uses-sdk android:minSdkVersion="7" />
</manifest>
更新2
我按照here找到的前两个答案的建议完成了,并且没有在本地打印异常数据(CustomExceptionHandler
答案,使用Log.d
修改)或报告给Google表格(ACRA
回答)。所以这表明没有未捕获的异常,因为我已经将输出机制添加到我的每个线程构造函数中。
那么,如果没有未捕获的异常,为什么我的应用程序会重新创建呢?