शुरू किए बिना अधिसूचना से क्रियाओं का उपयोग कैसे करें, इसलिए मैं एक साधारण संगीत प्लेयर पर काम कर रहा हूं। संगीत खिलाड़ी के नाम के रूप में संगीत खिलाड़ी, एक गीत चला सकता है, प्लेबैक रोक सकता है, अगले गीत पर अग्रेषित कर सकता है, पिछले गीत पर वापस जा सकता है, और प्लेबैक को पूरी तरह से रोक सकता है। जब आप कोई गाना बजते हैं, तो कलाकार नाम, और गीत नाम के साथ प्रदर्शित एक अधिसूचना होगी; इस अधिसूचना में तीन बटन भी हैं (क्रियाएं): रोकें, अगला रोकें।गतिविधि
मुझे क्या समस्याएं आ रही हैं यह सुनिश्चित कर रही है कि जब कोई भी कार्रवाई क्लिक की जाती है, तो कार्रवाई से संबंधित प्लेबैक नियंत्रण ट्रिगर होता है, और ठीक है, मुझे बिल्कुल यह नहीं पता कि यह कैसे किया जाए। मैंने एंड्रॉइड अधिसूचना की खोज की: http://developer.android.com/guide/topics/ui/notifiers/notifications.html लेकिन यह अधिसूचना कार्यों पर बहुत अधिक जानकारी को स्पष्ट या समर्पित नहीं करता है। नोट:: नीचे वर्णित निम्नलिखित पैकेज के तहत लिखा है कोड के सभी: com.deadpixels.light
यहाँ उदाहरण के लिए एक सरल कार्रवाई (जो अधिसूचना पर "अगला" बटन क्लिक के साथ संबद्ध किया जाना चाहिए है .player और गतिविधि कहा जाता है: PlayerActivity
public void nextSong() {
if (position == songs.size() -1) {
Toast.makeText(this, "No more songs on queue", Toast.LENGTH_SHORT).show();
if(mPlayer.isPlaying()) {
return;
}
else {
buttonPlay.setImageResource(R.drawable.button_play);
}
return;
}
else {
position++;
playSong(songs.get(position));
}
}
यहाँ मैं करने की कोशिश की क्या है:
Intent nextIntent = new Intent(KEY_NEXT);
PendingIntent nextPendingIntent = createPendingResult(0, nextIntent, 0);
NextIntent के लिए कार्रवाई कहां है:
public static final String KEY_NEXT = "com.deadpixels.light.player.PlayerActivity.nextSong";
और फिर मैं अधिसूचना में जोड़ देते हैं addAction() के माध्यम से:
mBuilder.addAction(R.drawable.not_action_next, "Next", nextPendingIntent);
तुम लोग पता है कि मैं और क्या कोशिश कर सकते हैं? मैंने ऊपर जो बताया है उसका उपयोग करना कुछ भी नहीं है, अधिसूचना दिखाती है, और इसमें तीन एक्शन बटन हैं, लेकिन उन पर क्लिक करने से मेरे लिए कुछ भी नहीं है।
एक बिंदु पर मैंने सोचा कि शायद मैंने एक्शन नामों के साथ इरादे फ़िल्टर जोड़े हैं, लेकिन फिर मैंने सोचा, ठीक है, वे सभी एक ही नामस्थान पर हैं, मुझे क्यों चाहिए?
रिसीवर इंस्टेंस को स्टोर करना सुनिश्चित करें .. स्टोर कहां? –
@anonymous अपनी गतिविधि या सेवा में इसका संदर्भ रखें। – acj
आप ब्रॉडकास्ट रिसीवर को मैनिफेस्ट में क्यों पंजीकृत नहीं करते हैं और अलग वर्ग के रूप में बनाते हैं? – streamride