मेरे पास कोड है, और यह सिर्फ काम नहीं करता है, इसलिए मैं किसी से भी मेरी मदद करने के लिए कहता हूं। इस विशिष्ट मामले पर बहुत कम जानकारी है।एंड्रॉइड अधिसूचना के निर्माण को अनदेखा क्यों कर रहा है?
MainActivity
public class MainActivity extends Activity {
public final int PENDING_INTENT_ID = 8;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button clickity = (Button)findViewById(R.id.alarm_button);
clickity.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar now = Calendar.getInstance();
now.add(Calendar.SECOND, 20);
//Create a new PendingIntent used by the Alarm when it activates
Intent intent = new Intent(v.getContext(), AlarmReciever.class);
intent.setAction("SOME_AWESOME_TRIGGER_WORD");
intent.putExtra("info", "This String shows that the info is actually sent correctly");
PendingIntent pendingIntent = PendingIntent.getBroadcast(v.getContext(), PENDING_INTENT_ID, intent, PendingIntent.FLAG_UPDATE_CURRENT|Intent.FILL_IN_DATA);
//Then Create the alarm manager to send this pending intent and set the date to go off
AlarmManager am = (AlarmManager)getSystemService(Activity.ALARM_SERVICE);
am.set(AlarmManager.RTC_WAKEUP, now.getTimeInMillis(), pendingIntent);
}
});
}
AlarmReciever (वाकिफ मैं गलत इसकी वर्तनी लेकिन thats के बाद से यह कैसे है, im इसके साथ जा रहा)
public class AlarmReciever extends BroadcastReceiver{
@Override
public void onReceive(Context c, Intent arg1) {
//get a reference to NotificationManager
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager mNotificationManager = (NotificationManager) c.getSystemService(ns);
//Instantiate the notification
CharSequence tickerText = "Hello";
long when = System.currentTimeMillis();
Notification.Builder builder = new Notification.Builder(c)
.setTicker(tickerText)
.setWhen(when)
.setContentTitle(arg1.getStringExtra("info"))
.setContentText("Success!!")
.setAutoCancel(true);
Notification notification = builder.getNotification();
mNotificationManager.notify(0, notification);//note the first argument, the ID should be unique
}
}
प्रकट
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver
android:name="com.testproject.AlarmReciever"
android:enabled="true"
android:exported="false" >
<intent-filter>
</receiver>
</application>
कि सब कुछ किया जाना चाहिए। मैं इसे चलाने की कोशिश कर रहा हूं और यह मुझे कुछ भी नहीं दिखा रहा है। मैं इसे एक एमुलेटर पर चला रहा हूं जो वास्तव में मायने रखता है।
संपादित करें: जब मैं कहता हूं कि यह काम नहीं करता है, तो मेरा मतलब है कि कुछ भी पॉप अप नहीं होता है। यह ठीक चलता है, लेकिन अधिसूचना कभी नहीं खुलती है।
मुद्दा:
तो मुद्दा एंड्रॉयड सिर्फ अपनी अधिसूचना अनदेखी तक ही सीमित है। समस्या यह है कि यह मुझे नहीं बताती है-_- इसलिए मैं इसे ठीक नहीं कर सकता। इस मामले पर किसी भी विशेषज्ञ को अधिसूचना कॉल करने के लिए मेरे कोड के साथ कुछ गलत लगता है? क्या इससे कोई फर्क पड़ता है कि यह एक एमुलेटर पर है?
तो मुझे लगता है कि दूर ले, मैं अपने मैनिफ़ेस्ट फ़ाइल के '' टैग बदलना चाहिए? –
Andy
आप वास्तव में कोड से 'intent.setAction (..)' को हटा सकते हैं + एंड्रॉइड मेनिफेस्ट से '' अनुभाग को हटा दें। –
मैंने अभी किया। अभी भी काम नहीं करता है। हालांकि इसे इंगित करने के लिए धन्यवाद। यह एक शुरुआत है। – Andy