मैं गए दो गतिविधियों के साथ एक समस्या यह है कि मैं का समाधान नहीं कर सकते हैं:गतिविधि प्रसारण रिसीवर से शुरू की, के समाप्त हो गया गया है बावजूद हाल ही में कार्यों में रहता है
मैं एक एक गतिविधि है कि अलार्म के साथ कार्यक्रमों एक अलार्म प्रबंधक, 3 सेकंड में अलार्म रिसीवर एक बी गतिविधि लॉन्च करता है जिसमें केवल एक फिनिश बटन होता है।
यदि मैं ए से अलार्म मैनेजर प्रोग्राम करता हूं और बैक बटन दबाकर इस गतिविधि को समाप्त करता हूं, तो 3 सेकंड में बी गतिविधि दिखाई देती है। सब सामान्य समस्या निम्न है: यदि मैं लॉन्चर द्वारा एप्लिकेशन को फिर से खोलता हूं, तो सिस्टम एक गतिविधि शुरू करता है, लेकिन अगर मैं होम बटन (हाल ही में उपयोग किए गए कार्यों) को दबाकर एप्लिकेशन को शुरू करता हूं तो मैं हमेशा बी गतिविधि खोलता हूं। मुझे इसकी आवश्यकता है जब मैं बी गतिविधि समाप्त करता हूं, अगर मैं कहीं से भी एप्लिकेशन को फिर से खोलता हूं, तो एक गतिविधि खुलनी चाहिए।
मैंने गतिविधि बी में कोई इतिहास जोड़ने की कोशिश की है, लेकिन समस्या जारी है।
public class ActivityA extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_a);
Button b=(Button) findViewById(R.id.initTimer);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
programTimer();
}
});
}
private void programTimer() {
AlarmManager manager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, AlarmReciver.class);
PendingIntent pIntent = PendingIntent.getBroadcast(this, 1, intent, PendingIntent.FLAG_CANCEL_CURRENT);
manager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+3000 , pIntent);
}
}
बी गतिविधि:
यहाँ एक गतिविधि के कोड है
public class ActivityB extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_b);
Button button= (Button) findViewById(R.id.bFinish);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}
AlarmReciver:
public class AlarmReciver extends android.content.BroadcastReceiver {
private static final String DEBUG_TAG="ReceptorAlarma";
@Override
public void onReceive(Context context, android.content.Intent intent) {
//lanzar activity
Intent i = new Intent(context, ActivityB.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
मैनिफ़ेस्ट:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".ActivityA"
android:label="@string/title_activity_activity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".ActivityB">
</activity>
<receiver android:name=".AlarmReciver" >
</receiver>
</application>
अपने समय के लिए धन्यवाद।