叫我Aso 2013-08-26 23:54 采纳率: 0%
浏览 3078

有关第三方应用启动蓝牙的入口BluetoothOppLauncherActivity问题

我们在实现共享功能的时候,通常使用的是Intent intent = new Intent(Intent.ACTION_SEND)这样的代码,这种情况会弹出一个共享功能的选择界面,比如通过微博、蓝牙、邮件等等很多途径,现在我要实现的是跳过这个选择界面,直接选用蓝牙途径进行共享文件,代码如下
/** 蓝牙功能包名 /
private final String mBluetoothPackageName = "com.android.bluetooth";
/
* 蓝牙功能操作类名 */
private final String mBluetoothClassName = "com.android.bluetooth.opp.BluetoothOppLauncherActivity";

mSelfApkPath = getSelfAPKPath(mSelfApkPackage);
File file = new File(mSelfApkPath);
Intent intent = new Intent();
try {
intent.setAction(android.content.Intent.ACTION_SEND);
intent.setType("*/*");
// 以下此行代码功能为直接指向系统蓝牙搜索设备界面,去掉即跳转至客户端选择分享途径
intent.setClassName(mBluetoothPackageName, mBluetoothClassName);
intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file));
startActivity(intent);
} catch (Exception e) {
Toast.makeText(this, "该设备可能不支持蓝牙功能...",Toast.LENGTH_SHORT).show();
}
在实现过程中,手中的测试机器在执行到startActivity(intent)时并不会抛异常,而后面无意中却发现有的手机在这句程序居然抛出了异常,异常信息如下:
android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.bluetooth/com.android.bluetooth.opp.BluetoothOppLauncherActivity}; have you declared this activity in your AndroidManifest.xml?

不知道哪位高手能指点这个错的原因(除了厂家改动到改文件);
或者指点如何实现我需要实现的功能:比如,点击一个按钮,能直接跳到蓝牙共享功能进行文件共享

  • 写回答

1条回答 默认 最新

  • chunjuan0126 2014-06-24 19:34
    关注

    错误信息很明显,在 AndroidManifest.xml 里面没有注册 BluetoothOppLauncherActivity。

    评论
    编辑
    预览

    报告相同问题?

    悬赏问题

    • ¥15 PADS Logic 原理图
    • ¥15 PADS Logic 图标
    • ¥15 电脑和power bi环境都是英文如何将日期层次结构转换成英文
    • ¥20 气象站点数据求取中~
    • ¥15 如何获取APP内弹出的网址链接
    • ¥15 wifi 图标不见了 不知道怎么办 上不了网 变成小地球了
    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部