दिलचस्प पोस्ट
क्या स्ट्रिंग और इंट के साथ एक चर को संदर्भित करना संभव है? SQLiteDatabase के लिए सिंगलटन डिजाइन पैटर्न का उपयोग करना एक नकारात्मक बदलाव संख्या के साथ वाम स्थानांतरण LAN नेटवर्क पर किसी अन्य कंप्यूटर से स्थानीयहोस्ट (एक्सएमपीपी) तक पहुंच – कैसे करें? किसी टैब कंट्रोलोल में टैब आइटम्स के भीतर कंट्रोल स्टेट को संरक्षित कैसे करें Ggplot2 पैनल चौड़ाई निर्दिष्ट करना मापदंडों के साथ जावास्क्रिप्ट इवेंट हैंडलर का उपयोग करने के लिए -रेनकाउंट कब? एसक्यूएल कॉलम के नामों से कैसे निपटें, जो एसक्यूएल कीवर्ड की तरह दिखते हैं? 'एसएसएच-केजेन' को आंतरिक या बाहरी कमांड के रूप में मान्यता नहीं दी गई है Google Chrome मुद्रण पृष्ठ तोड़ता है सी # में कमांड-लाइन आर्ग्यूमेंट पास करना क्या एमसीएस को सी में परिवर्तित करने के लिए जीसीसी का उपयोग करने का कोई तरीका है? एआरसी के तहत ऑब्जेक्ट के लिए कमजोर संदर्भों (__unsafe_unretained) के एनएसएआरआरए अपनी स्वयं की फ़ंक्शन लिखते समय आर की एलीपिसिस सुविधा का उपयोग कैसे करें?

एंड्रॉइड सूचनाओं के अंदर बटन को संभालना

मैंने एक अधिसूचना के अंदर एक बटन जोड़ा

लेकिन मुझे नहीं पता कि यह कैसे फ़ंक्शन कॉल करता है जब इसे क्लिक किया जाता है

मैंने इस https://code.google.com/p/languagepickerwidget/source/browse/trunk/trunk/src/org/gnvo/langpicker/LangPicker.java जैसी एक दृष्टिकोण की कोशिश की क्योंकि यह भी एक रिमोटिव्यूज़ ऑब्जेक्ट का उपयोग कर रहा है लेकिन कुछ नहीं होता है मैं बटन क्लिक करता हूँ

यह वर्तमान में मेरे पास है:

private void createNotification(){ String ns = Context.NOTIFICATION_SERVICE; NotificationManager notificationManager = (NotificationManager) getSystemService(ns); Notification notification = new Notification(R.drawable.ic_launcher, null, System.currentTimeMillis()); RemoteViews notificationView = new RemoteViews(getPackageName(), R.layout.notification_switch); //the intent that is started when the notification is clicked (works) Intent notificationIntent = new Intent(this, SettingsActivity.class); PendingIntent pendingNotificationIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); notification.contentView = notificationView; notification.contentIntent = pendingNotificationIntent; notification.flags |= Notification.FLAG_NO_CLEAR; //this is the intent that is supposed to be called when the button is clicked Intent switchIntent = new Intent(this, switchButtonListener.class); PendingIntent pendingSwitchIntent = PendingIntent.getBroadcast(this, 0, switchIntent, 0); notificationView.setOnClickPendingIntent(R.id.buttonswitch, pendingSwitchIntent); notificationManager.notify(1, notification); } public static class switchButtonListener extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.d("TAG", "test"); } } 

मैं बटन के साथ एक गतिविधि शुरू कर सकता हूं लेकिन मैं इसे एक साधारण फ़ंक्शन कॉल करने में सफल नहीं हुआ। क्या सबसे अच्छा तरीका होगा यह करने का?

संपादित करें: मुझे पता चला कि मुझे AndroidManifest.xml में "SwitchButtonListener" पंजीकृत करना पड़ा

 <receiver android:name="SettingsActivity$switchButtonListener" /> 

स्रोत: कोई जीयूआई के साथ एंड्रॉइड गतिविधि नहीं

यह अब काम करता है।

वेब के समाधान से एकत्रित समाधान "एंड्रॉइड सूचनाओं के अंदर बटन को संभालना"

मुझे पता चला कि मुझे AndroidManifest.xml में "SwitchButtonListener" पंजीकृत करना पड़ा था

 <receiver android:name="SettingsActivity$switchButtonListener" /> 

स्रोत: कोई जीयूआई के साथ एंड्रॉइड गतिविधि नहीं


बाद में मुझे पता चला कि मैं इस तरह से कोड का उपयोग मैनिफेस्ट को संशोधित किए बिना ही हासिल कर सकता हूं।

 switchButtonListener = new SwitchButtonListener(); registerReceiver(switchButtonListener, new IntentFilter(SWITCH_EVENT)); 

 public class switchButtonListener extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Log.d("TAG", "test"); } } 

 Intent switchIntent = new Intent(LangService.SWITCH_EVENT); PendingIntent pendingSwitchIntent = PendingIntent.getBroadcast(context, 0, switchIntent, 0); notificationView.setOnClickPendingIntent(R.id.buttonswitch, pendingSwitchIntent); 

ध्यान दें कि इस तरह मैं स्विचबटन लिस्टनर वर्ग को स्थिर विशेषता के बिना घोषित कर सकता हूं (यदि स्थिर नहीं है, तो यह पिछले उदाहरण में क्रैश होगा) मुझे अधिक लचीलेपन
अनर्जस्टर रिसीवर () बाद में कॉल करने के लिए मत भूलें।