Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/209.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 何时何地注销宽频广播接收器?_Android_Broadcastreceiver_Android Broadcast_Android Broadcastreceiver - Fatal编程技术网

Android 何时何地注销宽频广播接收器?

Android 何时何地注销宽频广播接收器?,android,broadcastreceiver,android-broadcast,android-broadcastreceiver,Android,Broadcastreceiver,Android Broadcast,Android Broadcastreceiver,我有如下代码所示的aAsyncTask,它的任务是启用蓝牙适配器。在onPreExecute中,我注册了操作action\u STATE\u CHANGED,以获得有关蓝牙适配器电源状态的通知(打开、关闭、打开、关闭)。此接收器在onPreexecute中注销,以便在异步任务完成时注销接收器“并在on cancelled中注销”,这样,如果按下“后退”按钮,任务将被取消,接收器应被删除 未注册” 但是,当任务正在运行且我按下后退按钮取消正在运行的任务时,我收到以下logcat错误,尽管接收器已在

我有如下代码所示的
aAsyncTask
,它的任务是启用蓝牙适配器。在onPreExecute中,我注册了操作
action\u STATE\u CHANGED
,以获得有关蓝牙适配器电源状态的通知(打开、关闭、打开、关闭)。此接收器在
onPreexecute
中注销,以便在异步任务完成时注销接收器“并在on cancelled中注销”,这样,如果按下“后退”按钮,任务将被取消,接收器应被删除 未注册”

但是,当任务正在运行且我按下后退按钮取消正在运行的任务时,我收到以下logcat错误,尽管接收器已在
onCancelled
中注销

为什么会发生这种情况以及如何解决

代码

 @Override
protected void onDestroy() {
    super.onDestroy();
    Log.w(TAG, "onDestroy");

    if (this.mATEnableBT != null && this.mATEnableBT.getStatus() != AsyncTask.Status.FINISHED) {
        this.mATEnableBT.cancel(true);
    }
}

@Override
public void onBackPressed() {
    super.onBackPressed();

    Log.w(TAG, "onBackPressed");

    finish();
}
..
..
..
private BroadcastReceiver mBCR_POWER_STATE_CHANGED = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.w(TAG, SubTag.msg("mBCR_STATE_CHANGED"));

        final int prevPowState = intent.getIntExtra(BluetoothAdapter.EXTRA_PREVIOUS_STATE, BluetoothAdapter.ERROR);

        switch (prevPowState) {
            case BluetoothAdapter.STATE_ON:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED", "prevPowState: STATE_ON"));
                break;
            case BluetoothAdapter.STATE_TURNING_ON:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED", "prevPowState: STATE_TURNING_ON"));
                break;
            case BluetoothAdapter.STATE_TURNING_OFF:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED", "prevPowState: STATE_TURNING_OFF"));
                break;
            case BluetoothAdapter.STATE_OFF:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED", "prevPowState: STATE_OFF"));
                break;
            case BluetoothAdapter.ERROR:
                Log.e(TAG, SubTag.msg("mBCR_STATE_CHANGED", "NO_PREVIOUS_POWER_STATE"));
                break;
        }

        final int currPowState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
        switch (currPowState) {
            case BluetoothAdapter.STATE_ON:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED", "currPowState: STATE_ON"));
                break;
            case BluetoothAdapter.STATE_TURNING_ON:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED", "currPowState: STATE_TURNING_ON"));
                break;
            case BluetoothAdapter.STATE_TURNING_OFF:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED: currPowState: STATE_TURNING_OFF"));
                break;
            case BluetoothAdapter.STATE_OFF:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED: currPowState: STATE_OFF"));
                break;
            case BluetoothAdapter.ERROR:
                Log.e(TAG, SubTag.msg("mBCR_STATE_CHANGED", "NO_CURRENT_POWER_STATE"));
                break;
        }

        if ((prevPowState == BluetoothAdapter.STATE_TURNING_ON) && (currPowState == BluetoothAdapter.STATE_ON)) {
            Log.i(TAG, SubTag.msg("mBCR_STATE_CHANGED: BT-Power ON"));
        }
        if ((prevPowState == BluetoothAdapter.STATE_TURNING_OFF) && (currPowState == BluetoothAdapter.STATE_OFF)) {
            Log.i(TAG, SubTag.msg("mBCR_STATE_CHANGED: BT-Power OFF"));

            finish();
        }
    }
};
private class  ATEnableBT extends AsyncTask<Void,Void,Void> {

    private int mWaitTime = getApplicationContext().getResources().getInteger(R.integer.int_max_wait_time);
    private int mSleepTime = getApplicationContext().getResources().getInteger(R.integer.int_sleep_time);

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        Log.w(TAG, "onPreExecute");

        registerReceiver(mBCR_POWER_STATE_CHANGED, new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));
    }

    @Override
    protected Void doInBackground(Void... params) {
        Log.w(TAG, "doInBackground");

        mBTAdapter.enable();

        while(!isCancelled() && mBTAdapter.getState() != BluetoothAdapter.STATE_ON && this.mWaitTime > 0) {
            SystemClock.sleep(2000);
            this.mWaitTime -= this.mSleepTime;
        }
        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        Log.w(TAG, "onPostExecute");

        unregisterReceiver(mBCR_POWER_STATE_CHANGED);
    }

    @Override
    protected void onCancelled(Void aVoid) {
        super.onCancelled(aVoid);
        Log.w(TAG, "onCancelled");

        unregisterReceiver(mBCR_POWER_STATE_CHANGED);
    }
}
异步任务

 @Override
protected void onDestroy() {
    super.onDestroy();
    Log.w(TAG, "onDestroy");

    if (this.mATEnableBT != null && this.mATEnableBT.getStatus() != AsyncTask.Status.FINISHED) {
        this.mATEnableBT.cancel(true);
    }
}

@Override
public void onBackPressed() {
    super.onBackPressed();

    Log.w(TAG, "onBackPressed");

    finish();
}
..
..
..
private BroadcastReceiver mBCR_POWER_STATE_CHANGED = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.w(TAG, SubTag.msg("mBCR_STATE_CHANGED"));

        final int prevPowState = intent.getIntExtra(BluetoothAdapter.EXTRA_PREVIOUS_STATE, BluetoothAdapter.ERROR);

        switch (prevPowState) {
            case BluetoothAdapter.STATE_ON:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED", "prevPowState: STATE_ON"));
                break;
            case BluetoothAdapter.STATE_TURNING_ON:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED", "prevPowState: STATE_TURNING_ON"));
                break;
            case BluetoothAdapter.STATE_TURNING_OFF:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED", "prevPowState: STATE_TURNING_OFF"));
                break;
            case BluetoothAdapter.STATE_OFF:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED", "prevPowState: STATE_OFF"));
                break;
            case BluetoothAdapter.ERROR:
                Log.e(TAG, SubTag.msg("mBCR_STATE_CHANGED", "NO_PREVIOUS_POWER_STATE"));
                break;
        }

        final int currPowState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
        switch (currPowState) {
            case BluetoothAdapter.STATE_ON:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED", "currPowState: STATE_ON"));
                break;
            case BluetoothAdapter.STATE_TURNING_ON:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED", "currPowState: STATE_TURNING_ON"));
                break;
            case BluetoothAdapter.STATE_TURNING_OFF:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED: currPowState: STATE_TURNING_OFF"));
                break;
            case BluetoothAdapter.STATE_OFF:
                Log.v(TAG, SubTag.msg("mBCR_STATE_CHANGED: currPowState: STATE_OFF"));
                break;
            case BluetoothAdapter.ERROR:
                Log.e(TAG, SubTag.msg("mBCR_STATE_CHANGED", "NO_CURRENT_POWER_STATE"));
                break;
        }

        if ((prevPowState == BluetoothAdapter.STATE_TURNING_ON) && (currPowState == BluetoothAdapter.STATE_ON)) {
            Log.i(TAG, SubTag.msg("mBCR_STATE_CHANGED: BT-Power ON"));
        }
        if ((prevPowState == BluetoothAdapter.STATE_TURNING_OFF) && (currPowState == BluetoothAdapter.STATE_OFF)) {
            Log.i(TAG, SubTag.msg("mBCR_STATE_CHANGED: BT-Power OFF"));

            finish();
        }
    }
};
private class  ATEnableBT extends AsyncTask<Void,Void,Void> {

    private int mWaitTime = getApplicationContext().getResources().getInteger(R.integer.int_max_wait_time);
    private int mSleepTime = getApplicationContext().getResources().getInteger(R.integer.int_sleep_time);

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        Log.w(TAG, "onPreExecute");

        registerReceiver(mBCR_POWER_STATE_CHANGED, new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));
    }

    @Override
    protected Void doInBackground(Void... params) {
        Log.w(TAG, "doInBackground");

        mBTAdapter.enable();

        while(!isCancelled() && mBTAdapter.getState() != BluetoothAdapter.STATE_ON && this.mWaitTime > 0) {
            SystemClock.sleep(2000);
            this.mWaitTime -= this.mSleepTime;
        }
        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        Log.w(TAG, "onPostExecute");

        unregisterReceiver(mBCR_POWER_STATE_CHANGED);
    }

    @Override
    protected void onCancelled(Void aVoid) {
        super.onCancelled(aVoid);
        Log.w(TAG, "onCancelled");

        unregisterReceiver(mBCR_POWER_STATE_CHANGED);
    }
}
私有类ATEnableBT扩展异步任务{
private int mWaitTime=getApplicationContext().getResources().getInteger(R.integer.int\u max\u wait\u time);
private int mSleepTime=getApplicationContext().getResources().getInteger(R.integer.int\u sleep\u time);
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
Log.w(标记“onPreExecute”);
registerReceiver(mBCR\u电源\u状态更改,新的IntentFilter(BluetoothAdapter.ACTION\u状态更改));
}
@凌驾
受保护的Void doInBackground(Void…参数){
Log.w(标签“doInBackground”);
mBTAdapter.enable();
而(!isCancelled()&&mBTAdapter.getState()!=BluetoothAdapter.STATE_ON&&this.mWaitTime>0){
SystemClock.sleep(2000年);
this.mWaitTime-=this.mSleepTime;
}
返回null;
}
@凌驾
受保护的void onPostExecute(void避免){
super.onPostExecute(避免);
Log.w(标记“onPostExecute”);
未注册接收器(mBCR\u电源\u状态\u更改);
}
@凌驾
取消后受保护的作废(作废避免){
超级。一旦取消(避免);
Log.w(标记为“已取消”);
未注册接收器(mBCR\u电源\u状态\u更改);
}
}
logcat

02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread: Activity com.example.com.onprepareoptionsmenu_01.MainActivity has leaked IntentReceiver com.example.com.onprepareoptionsmenu_01.MainActivity$1@3f2f9d that was originally registered here. Are you missing a call to unregisterReceiver()?
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread: android.app.IntentReceiverLeaked: Activity com.example.com.onprepareoptionsmenu_01.MainActivity has leaked IntentReceiver com.example.com.onprepareoptionsmenu_01.MainActivity$1@3f2f9d that was originally registered here. Are you missing a call to unregisterReceiver()?
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:960)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:761)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:2002)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.app.ContextImpl.registerReceiver(ContextImpl.java:1982)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.app.ContextImpl.registerReceiver(ContextImpl.java:1976)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:503)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at com.example.com.onprepareoptionsmenu_01.MainActivity$ATEnableBT.onPreExecute(MainActivity.java:36)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.os.AsyncTask.execute(AsyncTask.java:535)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at com.example.com.onprepareoptionsmenu_01.MainActivity.onOptionsItemSelected(MainActivity.java:108)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.app.Activity.onMenuItemSelected(Activity.java:3024)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:325)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:147)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.support.v7.internal.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:100)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.support.v7.app.AppCompatDelegateImplV7.onMenuItemSelected(AppCompatDelegateImplV7.java:609)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.support.v7.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:811)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.support.v7.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:153)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.support.v7.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:958)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.support.v7.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:948)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.support.v7.widget.ActionMenuView.invokeItem(ActionMenuView.java:619)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.support.v7.internal.view.menu.ActionMenuItemView.onClick(ActionMenuItemView.java:139)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.view.View.performClick(View.java:5184)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.view.View$PerformClick.run(View.java:20893)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.os.Handler.handleCallback(Handler.java:739)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.os.Handler.dispatchMessage(Handler.java:95)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.os.Looper.loop(Looper.java:145)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at android.app.ActivityThread.main(ActivityThread.java:5938)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at java.lang.reflect.Method.invoke(Native Method)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at java.lang.reflect.Method.invoke(Method.java:372)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
02-13 11:45:46.158 25978-25978/com.example.com.bt_11 W/MainActivity: onCancelled
02-13 11:45:46.168 25978-25978/com.example.com.bt_11 D/AndroidRuntime: Shutting down VM
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime: FATAL EXCEPTION: main
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime: Process: com.example.com.bt_11, PID: 25978
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime: java.lang.IllegalArgumentException: Receiver not registered: com.example.com.onprepareoptionsmenu_01.MainActivity$1@3f2f9d
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at android.app.LoadedApk.forgetReceiverDispatcher(LoadedApk.java:822)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at android.app.ContextImpl.unregisterReceiver(ContextImpl.java:2025)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at android.content.ContextWrapper.unregisterReceiver(ContextWrapper.java:528)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at com.example.com.onprepareoptionsmenu_01.MainActivity$ATEnableBT.onCancelled(MainActivity.java:65)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at com.example.com.onprepareoptionsmenu_01.MainActivity$ATEnableBT.onCancelled(MainActivity.java:26)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at android.os.AsyncTask.finish(AsyncTask.java:630)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at android.os.AsyncTask.access$600(AsyncTask.java:177)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:645)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:102)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:145)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5938)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:372)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
02-13 11:45:46.178 25978-25978/com.example.com.bt_11 E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:Activity com.example.com.onprepareoptionsmenu_01.main活动已泄漏IntentReceiver com.example.com.onprepareoptionsmenu_01.main活动$1@3f2f9d原来是在这里注册的。是否缺少对unregisterReceiver()的调用?
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:android.app.IntentReceiver泄漏:Activity com.example.com.onprepareoptionsmenu_01.main活动已泄漏IntentReceiver.example.com.onprepareoptionsmenu_01.main活动$1@3f2f9d原来是在这里注册的。是否缺少对unregisterReceiver()的调用?
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:在android.app.LoadedApk$ReceiverDispatcher。(LoadedApk.java:960)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at android.app.LoadedApk.getReceiveDispatcher(LoadedApk.java:761)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:2002)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at-android.app.ContextImpl.registerReceiver(ContextImpl.java:1982)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at-android.app.ContextImpl.registerReceiver(ContextImpl.java:1976)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:503)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at com.example.com.onprepareoptionsmenu_01.MainActivity$ATEnableBT.onPreExecute(MainActivity.java:36)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at android.os.AsyncTask.execute(AsyncTask.java:535)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at com.example.com.onPrepareOptions菜单_01.MainActivity.onOptionItemSelected(MainActivity.java:108)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at android.app.Activity.onMenuItemSelected(Activity.java:3024)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at-android.support.v4.app.FragmentActivity.onMenuItemSelected(FragmentActivity.java:325)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at android.support.v7.app.AppCompatActivity.onMenuItemSelected(AppCompatActivity.java:147)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at android.support.v7.internal.view.WindowCallbackWrapper.onMenuItemSelected(WindowCallbackWrapper.java:100)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at android.support.v7.app.AppCompateDelegateImplv7.onMenuItemSelected(AppCompateDelegateImplv7.java:609)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at android.support.v7.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:811)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at-android.support.v7.internal.view.menu.menuitemmpl.invoke(menuitemmpl.java:153)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:位于android.support.v7.internal.view.menu.MenuBuilder.performitemation(MenuBuilder.java:958)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at android.support.v7.internal.view.menu.MenuBuilder.performitemation(MenuBuilder.java:948)
02-13 11:45:44.948 25978-25978/com.example.com.bt_11 E/ActivityThread:at android.support.v7.widget.ActionMenuView.invokeItem(ActionMenuView.java:619)
02-13 11:45:44.948