2014-07-22 8 views
25

मैं एक ऐप बनाने की कोशिश कर रहा हूं जो डिवाइस के ब्लूटूथ चालू होने पर टोस्ट दिखाता है। मैं ऐसा करना चाहता हूं जब भी मेरा ऐप नहीं चल रहा हो। तो मुझे एक प्रसारण रिसीवर का उपयोग करना चाहिए, कुछ अनुमतियां जोड़ें, एंड्रॉइड मेनिफेस्ट में एक इरादा-फ़िल्टर जोड़ें और जावा क्लास बनाएं लेकिन मुझे विवरण नहीं पता।प्रसारण रिसीवर का उपयोग करके ब्लूटूथ राज्य परिवर्तन का पता कैसे लगाएं?

मुझे क्या करना चाहिए? मुझे किस अनुमति का उपयोग करना चाहिए?

उत्तर

64

ब्लूटूथ के राज्य परिवर्तन का पता लगाने के लिए अनुमतियों के रूप में, आपको इसे अपने AndroidManifest.xml में जोड़ने की आवश्यकता है।

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

एक उदाहरण रिसीवर इस प्रकार दिखाई देगा, आप जहाँ आप, उदाहरण के लिए एक गतिविधि प्रसारण हैंडल करना चाहते करने के लिए इस कोड जोड़ें:

private final BroadcastReceiver mReceiver = new BroadcastReceiver() { 
      public void onReceive (Context context, Intent intent) { 
       String action = intent.getAction(); 

       if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) { 
        if(intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, -1) 
    == BluetoothAdapter.STATE_OFF) 
    // Bluetooth is disconnected, do handling here 
} 

} 

     }; 

रिसीवर का उपयोग करने के लिए, आप इसे रजिस्टर करने की आवश्यकता । आप निम्नानुसार क्या कर सकते हैं। मैं रिसीवर को अपनी मुख्य गतिविधि में पंजीकृत करता हूं।

registerReceiver(this, new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)); 

आप इसे अपने AndroidManifest.xml में जोड़ने का भी निर्णय ले सकते हैं। इस तरह आप रिसीवर के लिए एक विशेष कक्षा बना सकते हैं और इसे वहां संभाल सकते हैं। रिसीवर रजिस्टर करने के लिए, कोई ज़रूरत नहीं बस वर्ग बनाने के लिए और AndroidManifest

<receiver 
     android:name=".packagename.NameOfBroadcastReceiverClass" 
     android:enabled="true"> 
    <intent-filter> 
     <action android:name="android.bluetooth.adapter.action.STATE_CHANGED"/> 
    </intent-filter> 
</receiver> 
+0

मुझे दूसरा और तीसरा कोड कहां जोड़ना चाहिए? –

+0

मुझे केवल प्रसारण रिसीवर का एक वर्ग बनाना है –

+0

मैंने अपनी पोस्ट संपादित की है – paNji

21

आप अनुमति निम्नलिखित ले जाना है करने के लिए नीचे दिए गए कोड जोड़ें।

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

और आपको इसे रिसीवर टैग में अपने इरादे फ़िल्टर के रूप में लिखना होगा।

<action android:name="android.bluetooth.adapter.action.STATE_CHANGED" /> 
संबंधित मुद्दे