android-通过蓝牙发送文件

实际上,我正在开发一个免费的应用程序,当按下某个按钮时,它需要通过蓝牙共享自身,并且我使用了以下代码(我尝试从sd卡中获取文件):

BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        if (mBluetoothAdapter == null) {
            // Device does not support Bluetooth
        }

        if (!mBluetoothAdapter.isEnabled()) {
            Toast.makeText(getApplicationContext(), "Bluetooth is turned off, please enable it to proceed!", Toast.LENGTH_LONG).show();
        }
        else {
            File sourceFile = findFile(Environment.getExternalStorageDirectory(),"E-charge.apk");
            Intent intent = new Intent();  
            intent.setAction(Intent.ACTION_SEND);  
            intent.setType("application/vnd.android.package-archive");
            intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(sourceFile) );  
            startActivity(intent);
        }

这是与此按钮所在的活动相关的清单:

<activity
        android:name=".main.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.SEND" />
            <data android:mimeType="*/*" />
            <data android:host="*"/>
            <data android:pathPattern="*.*\\.apk" />
        </intent-filter>
    </activity>

但是,当我按下按钮(在android 2.3.5中)时,它为我提供了仅通过电子邮件发送而不是通过蓝牙发送的选项,因此,请问您需要帮助以使其工作吗?

我还为蓝牙家伙添加了权限,事实并非如此!

解决方法:

您只需要更改以下行:

intent.setType(“application/vnd.android.package-archive”);

intent.setType("application/zip");
上一篇:在Android上检测到iBeacons时出现“蓝牙共享已停止”警报


下一篇:java-如何重写在方法中获取消息的循环