2011-11-18 21 views
7

क्या कोई तरीका है कि मैं एंड्रॉइड के आंतरिक ब्लूटूथ का उपयोग अन्य उपकरणों के लिए फाइल भेज सकता हूं? कृपया एक उदाहरण प्रदान करें।एंड्रॉइड ब्लूटूथ का उपयोग कर फ़ाइल भेजें?

+3

आप इसे पहले क्यों नहीं google? – Pratik

उत्तर

2

यह Android कोई स्पष्ट OBEX एपीआई है कि अजीब है दो अनुमतियां जोड़ने के लिए है। OBEX


का उपयोग कर फ़ाइल साझा करने के लिए या वैकल्पिक रूप से आप this समाधान का उपयोग कर सकते

BluetoothDevice device; 
String filePath = Environment.getExternalStorageDirectory().toString() + "/file.jpg"; 

ContentValues values = new ContentValues(); 
values.put(BluetoothShare.URI, Uri.fromFile(new File(filePath)).toString()); 
values.put(BluetoothShare.DESTINATION, device.getAddress()); 
values.put(BluetoothShare.DIRECTION, BluetoothShare.DIRECTION_OUTBOUND); 
Long ts = System.currentTimeMillis(); 
values.put(BluetoothShare.TIMESTAMP, ts); 
Uri contentUri = getContentResolver().insert(BluetoothShare.CONTENT_URI, values); 

(यह जरूरत this class -

  • Android OBEX: वैसे भी, इस परियोजना पर एक नज़र)

+0

आपका मतलब है [एपीआई लिंक] (http://developer.android.com/reference/android/net/Uri.html#fromFile (java.io.File))? – Reno

+0

@ रेनो .. मैंने अपने ऐप में ऊपर स्निपेट की कोशिश की लेकिन यह फ़ाइल को गंतव्य डिवाइस पर नहीं भेजता है। चाहे हमें नीचे की तरह इरादे से शुरुआत करने की आवश्यकता है। ब्लूटूथ पर साझा करने के लिए फ़ाइल स्वरूप क्या समर्थन कर सकते हैं। –

+0

@ रेनो मैंने आपके समाधान को वास्तव में अद्भुत पढ़ा है, और मैंने इसे पहले से ही उपयोगी के रूप में चिह्नित किया है, लेकिन मुझे कुछ सुझावों की ज़रूरत है, वास्तव में मेरे ऐप में मुझे छवियों को मुद्रित करने के लिए जोड़े गए ब्लूटूथ डिवाइस से कनेक्ट करना होगा ... मुझे बताएं कि कौन सा सबसे अच्छा तरीका होगा ऐसा करने के लिए..? – Sun

4

यह एक छोटा समारोह है कि आप

/** 
    * Method to share data via bluetooth 
    * */ 
    public void bluetoothFunctionality() { 
     String path = Environment.getExternalStorageDirectory() + "/" 
       + Config.FILENAME; 

     File file = new File(path); 

     Intent intent = new Intent(); 
     intent.setAction(Intent.ACTION_SEND); 
     intent.setType("text/plain"); 
     intent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(file)); 
     startActivity(intent); 
    } 

इस विधि का उपयोग कर सकते डिफ़ॉल्ट डिवाइस ब्लूटूथ कार्यक्षमता का उपयोग किसी अन्य डिवाइस पर फ़ाइल भेज देंगे है। ऐसा करने से पहले आपको पहले डिवाइस को जोड़ना होगा यह सीमा है। फ़ाइल के विभिन्न प्रकार के भेजने के लिए आप सिर्फ सेट प्रकार विधि

में MIME प्रकार बदलने के लिए अपने मैनिफ़ेस्ट फ़ाइल में है आप की तरह

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
    <uses-permission android:name="android.permission.BLUETOOTH" /> 
+3

यदि मैं गलत नहीं हूं, तो इसके लिए उन अनुमतियों की आवश्यकता नहीं है। – xmen

संबंधित मुद्दे