mohammadali1375
جمعه 18 مرداد 1392, 01:07 صبح
سلام. من میخام به پرت بلوتوث روی کامپیوتر دیتا بفرستم. بعد از دو روز تلاش تقریبا نحوه اتصال رو فهمیدم ولی الان وقتی متد connect از BluetoohSocket رو صدا میزنم ارور میده ( رو حالت دیباگ این تابع رو مشخص میکنه ) بعد هم از برنامه خارج میشه. فقط بگم اینو با C# و Mono نوشتم ولی از روی یک کد جاوا : موقع دیباگ این ارور رو میده :
Java.IO.IOException: Service discovery failed at Android.Runtime.JNIEnv.CallVoidMethod (intptr,intptr) [0x00022] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.3-branch/410a5aba/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:356 at Android.Bluetooth.BluetoothSocket.Connect () [0x0002d] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.3-branch/410a5aba/source/monodroid/src/Mono.Android/platforms/android-8/src/generated/Android.Bluetooth.BluetoothSocket.cs:72 at AndroidBluetooth.Activity1.ConnectButton_Click (object,System.EventArgs) [0x0005d] in c:\Users\mohammadali1375\Documents\Projects\Androi dBluetooth\AndroidBluetooth\Activity1.cs:37 at Android.Views.View/IOnClickListenerImplementor.OnClick (Android.Views.View) [0x0000b] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.3-branch/410a5aba/source/monodroid/src/Mono.Android/platforms/android-8/src/generated/Android.Views.View.cs:629 at Android.Views.View/IOnClickListenerInvoker.n_OnClick_Landroid_view_Vi ew_ (intptr,intptr,intptr) [0x00010] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.3-branch/410a5aba/source/monodroid/src/Mono.Android/platforms/android-8/src/generated/Android.Views.View.cs:600 at (wrapper dynamic-method) object.b05cb9ef-ea88-414d-bea0-d7bd33b4de9c (intptr,intptr,intptr) <IL 0x00012, 0x00033> --- End of managed exception stack trace --- java.io.IOException: Service discovery failed at android.bluetooth.BluetoothSocket$SdpHelper.doSdp( BluetoothSocket.java:406) at android.bluetooth.BluetoothSocket.connect(Bluetoot hSocket.java:217) at mono.android.view.View_OnClickListenerImplementor. n_onClick(Native Method) at mono.android.view.View_OnClickListenerImplementor. onClick(View_OnClickListenerImplementor.java:29) at android.view.View.performClick(View.java:2485) at android.view.View$PerformClick.run(View.java:9080) at android.os.Handler.handleCallback(Handler.java:587 ) at android.os.Handler.dispatchMessage(Handler.java:92 ) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.jav a:3687) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:867) at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:625) at dalvik.system.NativeStart.main(Native Method)
اینم کد برنامه :
using System;
using System.IO;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Bluetooth;
namespace AndroidBluetooth
{
[Activity (Label = "AndroidBluetooth", MainLauncher = true)]
public class Activity1 : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.Main);
Button connectButton = FindViewById<Button>(Resource.Id.ConnectButton);
connectButton.Click += ConnectButton_Click;
}
void ConnectButton_Click (object sender, EventArgs e)
{
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.DefaultAdapter;
TextView topStatusTextView = FindViewById<TextView> (Resource.Id.TopStatusTextView);
if (!bluetoothAdapter.IsEnabled) {
Intent enableBluetooth = new Intent (BluetoothAdapter.ActionRequestEnable);
StartActivityForResult (enableBluetooth, 1);
}
Java.Util.UUID serialUUID = Java.Util.UUID.FromString ("00001101-0000-1000-8000-00805F9B34FB");
BluetoothDevice bluetoothDevice = bluetoothAdapter.GetRemoteDevice ("00:26:5E:DE:7D:FC");
BluetoothSocket bluetoothSocket = null;
Stream outStream = null;
bluetoothSocket = bluetoothDevice.CreateRfcommSocketToServiceRecord( serialUUID);
bluetoothSocket.Connect();
outStream = bluetoothSocket.OutputStream;
}
}
}
Java.IO.IOException: Service discovery failed at Android.Runtime.JNIEnv.CallVoidMethod (intptr,intptr) [0x00022] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.3-branch/410a5aba/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.g.cs:356 at Android.Bluetooth.BluetoothSocket.Connect () [0x0002d] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.3-branch/410a5aba/source/monodroid/src/Mono.Android/platforms/android-8/src/generated/Android.Bluetooth.BluetoothSocket.cs:72 at AndroidBluetooth.Activity1.ConnectButton_Click (object,System.EventArgs) [0x0005d] in c:\Users\mohammadali1375\Documents\Projects\Androi dBluetooth\AndroidBluetooth\Activity1.cs:37 at Android.Views.View/IOnClickListenerImplementor.OnClick (Android.Views.View) [0x0000b] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.3-branch/410a5aba/source/monodroid/src/Mono.Android/platforms/android-8/src/generated/Android.Views.View.cs:629 at Android.Views.View/IOnClickListenerInvoker.n_OnClick_Landroid_view_Vi ew_ (intptr,intptr,intptr) [0x00010] in /Users/builder/data/lanes/monodroid-mac-monodroid-4.2.3-branch/410a5aba/source/monodroid/src/Mono.Android/platforms/android-8/src/generated/Android.Views.View.cs:600 at (wrapper dynamic-method) object.b05cb9ef-ea88-414d-bea0-d7bd33b4de9c (intptr,intptr,intptr) <IL 0x00012, 0x00033> --- End of managed exception stack trace --- java.io.IOException: Service discovery failed at android.bluetooth.BluetoothSocket$SdpHelper.doSdp( BluetoothSocket.java:406) at android.bluetooth.BluetoothSocket.connect(Bluetoot hSocket.java:217) at mono.android.view.View_OnClickListenerImplementor. n_onClick(Native Method) at mono.android.view.View_OnClickListenerImplementor. onClick(View_OnClickListenerImplementor.java:29) at android.view.View.performClick(View.java:2485) at android.view.View$PerformClick.run(View.java:9080) at android.os.Handler.handleCallback(Handler.java:587 ) at android.os.Handler.dispatchMessage(Handler.java:92 ) at android.os.Looper.loop(Looper.java:130) at android.app.ActivityThread.main(ActivityThread.jav a:3687) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:867) at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:625) at dalvik.system.NativeStart.main(Native Method)
اینم کد برنامه :
using System;
using System.IO;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Android.Bluetooth;
namespace AndroidBluetooth
{
[Activity (Label = "AndroidBluetooth", MainLauncher = true)]
public class Activity1 : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
SetContentView (Resource.Layout.Main);
Button connectButton = FindViewById<Button>(Resource.Id.ConnectButton);
connectButton.Click += ConnectButton_Click;
}
void ConnectButton_Click (object sender, EventArgs e)
{
BluetoothAdapter bluetoothAdapter = BluetoothAdapter.DefaultAdapter;
TextView topStatusTextView = FindViewById<TextView> (Resource.Id.TopStatusTextView);
if (!bluetoothAdapter.IsEnabled) {
Intent enableBluetooth = new Intent (BluetoothAdapter.ActionRequestEnable);
StartActivityForResult (enableBluetooth, 1);
}
Java.Util.UUID serialUUID = Java.Util.UUID.FromString ("00001101-0000-1000-8000-00805F9B34FB");
BluetoothDevice bluetoothDevice = bluetoothAdapter.GetRemoteDevice ("00:26:5E:DE:7D:FC");
BluetoothSocket bluetoothSocket = null;
Stream outStream = null;
bluetoothSocket = bluetoothDevice.CreateRfcommSocketToServiceRecord( serialUUID);
bluetoothSocket.Connect();
outStream = bluetoothSocket.OutputStream;
}
}
}