我想用户用户权限实际连接到蓝牙设备,并将文本文件发送到其他设备。我已经知道如何连接并向其他设备发送连接请求但我想在没有用户许可的情况下连接到蓝牙设备。我使用此代码发送文本文件,但没有工作它说“连接问题”
public void sendFile(){
String className = null;
String packageName = null;
File file = new File(Environment.getExternalStorageDirectory(), "testfile.txt");
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file) );
PackageManager pm =this.getPackageManager();
List<ResolveInfo> appsList = pm.queryIntentActivities( intent, 0);
if(appsList.size() > 0 ){
boolean found = false;
for(ResolveInfo info: appsList){
packageName = info.activityInfo.packageName;
if( packageName.equals("com.android.bluetooth")){
className = info.activityInfo.name;
found = true;
break;// found
}
}
}
intent.setClassName(packageName, className);
this.startActivity(intent);
}
答案 0 :(得分:0)
通过Intent
发送数据需要用户许可,您必须设置自己的蓝牙应用。
查看示例https://developer.android.com/samples/BluetoothChat/index.html,了解如何通过蓝牙发送和接收数据。
通过字节数组接收文本时,请将其保存为.txt文件或任何扩展名。
您的应用应安装在两台设备(您的设备和远程设备)中。
如果不让用户知道发生了什么事情,就无法发送任何数据。如果您通过Intent
发送,则会在远程设备上显示提示(是/否按钮)。如果您在远程设备上安装该应用程序,用户将知道您的应用程序已安装在他/她的设备上。