接收广播Intent蓝牙适配器时出错

马可

我在使用Intent传递arrayList时遇到问题。搜索完成并运行ACTION_DISCOVERY_FINISHED时,应用程序将停止运行。

ChallengeActivity :(发送方)

private final BroadcastReceiver mReceiver = new BroadcastReceiver() {

        public void onReceive(Context context, Intent intent) {         
            String action = intent.getAction();

            if (BluetoothAdapter.ACTION_DISCOVERY_STARTED.equals(action)) {
                mDeviceList = new ArrayList<BluetoothDevice>();

                mProgressDlg.show();
            } else if (BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)) {
                mProgressDlg.dismiss();

                Intent newIntent = new Intent(DesafioActivity.this, DeviceListActivity.class);

                newIntent.putParcelableArrayListExtra("device.list", mDeviceList);

                startActivity(newIntent);
            } else if (BluetoothDevice.ACTION_FOUND.equals(action)) {
                BluetoothDevice device = (BluetoothDevice) intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

                mDeviceList.add(device);

                showToast("Dispositivo Encontrado " + device.getName());
            }
        }
    };

DevicesListActivity;(接收方)

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_paired_devices);

    mDeviceList = getIntent().getExtras().getParcelableArrayList("device.list");

    mListView = (ListView) findViewById(R.id.lv_paired);

    mAdapter = new DeviceListAdapter(this);

    mAdapter.setData(mDeviceList);
    mAdapter.setListener(new DeviceListAdapter.OnPairButtonClickListener() {
        @Override
        public void onPairButtonClick(int position) {
            BluetoothDevice device = mDeviceList.get(position);

            if (device.getBondState() == BluetoothDevice.BOND_BONDED) {
                unpairDevice(device);
            } else {
                showToast("Pairing...");

                pairDevice(device);
            }
        }
    });

LogCat:

12-31 17:33:04.510: E/AndroidRuntime(14779): FATAL EXCEPTION: main
12-31 17:33:04.510: E/AndroidRuntime(14779): Process: com.AMOV.mr.fit, PID: 14779
12-31 17:33:04.510: E/AndroidRuntime(14779): java.lang.RuntimeException: Error receiving broadcast Intent { act=android.bluetooth.adapter.action.DISCOVERY_FINISHED flg=0x10 } in com.AMOV.mr.fit.DesafioActivity$1@4198efa8
12-31 17:33:04.510: E/AndroidRuntime(14779):    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:785)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at android.os.Handler.handleCallback(Handler.java:733)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at android.os.Handler.dispatchMessage(Handler.java:95)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at android.os.Looper.loop(Looper.java:136)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at android.app.ActivityThread.main(ActivityThread.java:5144)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at java.lang.reflect.Method.invokeNative(Native Method)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at java.lang.reflect.Method.invoke(Method.java:515)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at dalvik.system.NativeStart.main(Native Method)
12-31 17:33:04.510: E/AndroidRuntime(14779): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.AMOV.mr.fit/com.AMOV.mr.fit.DeviceListActivity}; have you declared this activity in your AndroidManifest.xml?
12-31 17:33:04.510: E/AndroidRuntime(14779):    at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1628)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at android.app.Instrumentation.execStartActivity(Instrumentation.java:1424)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at android.app.Activity.startActivityForResult(Activity.java:3424)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at android.app.Activity.startActivityForResult(Activity.java:3385)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at android.app.Activity.startActivity(Activity.java:3627)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at android.app.Activity.startActivity(Activity.java:3595)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at com.AMOV.mr.fit.DesafioActivity$1.onReceive(DesafioActivity.java:149)
12-31 17:33:04.510: E/AndroidRuntime(14779):    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:775)
12-31 17:33:04.510: E/AndroidRuntime(14779):    ... 9 more
12-31 17:33:06.855: I/Process(14779): Sending signal. PID: 14779 SIG: 9
Issathink

在您的AndroidManifest.xml中未声明DeviceListActivity

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从广播接收器设置适配器时,getSupportFragmentManager()返回空的FragmentManager

来自分类Dev

部署适配器时出错

来自分类Dev

获取蓝牙适配器时出现错误

来自分类Dev

从适配器监听时设置蓝牙认证PIN

来自分类Dev

在Android阵列适配器中使用notifyDataSetChanged时出错

来自分类Dev

在Worklight HTTP适配器中使用参数时出错

来自分类Dev

浓咖啡。执行“加载适配器数据”时出错

来自分类Dev

更改USB适配器的Mac地址时出错

来自分类Dev

在新 macbook 上构建适配器时出错

来自分类Dev

如何指定特定的蓝牙适配器?

来自分类Dev

“未找到蓝牙适配器”

来自分类Dev

找不到蓝牙适配器

来自分类Dev

蓝牙适配器中的蓝牙芯片是什么型号?

来自分类Dev

从JNI / C ++获取Android蓝牙适配器名称

来自分类Dev

在Ubuntu 13.04上找不到蓝牙适配器

来自分类Dev

蓝牙(适配器)是否需要LAN中的IP地址?

来自分类Dev

在Ubuntu 13.04上找不到蓝牙适配器

来自分类Dev

在Linux上信任蓝牙3.0 USB适配器

来自分类Dev

IOGear GBU521 Debian上的蓝牙适配器

来自分类Dev

如何通过我的Qualcomm Atheros适配器启用蓝牙?

来自分类Dev

在Ubuntu 14.04中找不到蓝牙适配器

来自分类Dev

如何获取内部蓝牙适配器的名称

来自分类Dev

Ubuntu 16.04蓝牙适配器无法搜索

来自分类Dev

在Ubuntu 16.04上找不到蓝牙适配器

来自分类Dev

使用CC2640作为USB蓝牙适配器

来自分类Dev

蓝牙:在 Debian 10 buster 上找不到适配器

来自分类Dev

Artix(Arch)OpenRC下如何连接蓝牙(适配器)

来自分类Dev

找不到蓝牙适配器 Ubuntu 19.04

来自分类Dev

Broadcom USB 蓝牙适配器不工作

Related 相关文章

热门标签

归档