एक सेवा है कि इस तरह से बंद के लिए प्रसारण प्राप्त बनाएँ:
public class MyAppShutdown extends BroadcastReceiver{
private static final String TAG = "MyAppShutdown";
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
Log.v(TAG, "onReceive - ++ ENTER ++");
if (intent != null && intent.getAction().equals(Intent.ACTION_SHUTDOWN)){
Log.v(TAG, "onReceive - ***] SHUTDOWN [***");
// perhaps send a broadcast to your app via intent to perform a log out.
Intent intent = new Intent();
intent.addAction("intent.myapp.action.shutdown");
sendBroadcast(intent);
}
Log.v(TAG, "onReceive - ++ LEAVE ++");
}
}
अपने AndroidManifest.xml
में, नीचे इस टुकड़ा एम्बेड <application>
टैग के भीतर:
<receiver android:name=".MyAppShutdown">
<intent-filter>
<action android:name="android.intent.action.SHUTDOWN"/>
</intent-filter>
</receiver>
यदि आपके ऐप की गतिविधि से एक रजिस्टर इरादे के लिए उपयुक्त फ़िल्टर के साथ प्रसारण रिसीवर:
public class myApp extends Activity{
private myAppBroadcastRcvr myAppRcvr = new myAppBroadcastRcvr();
@Override
public void onCreate(Bundle savedInstanceState){
IntentFilter filter = new IntentFilter();
filter.addAction("intent.myapp.action.shutdown");
registerReceiver(myAppRcvr, filter);
}
// Perhaps you have this
private void LogOff(){
}
class myAppBroadcastRcvr extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent){
if (intent.getAction().equals("intent.myapp.action.shutdown")){
LogOff();
}
}
}
}
ओकेलेट मानते हैं कि मैं लॉगऑफ() को कॉल करता हूं। प्लेटफ़ॉर्म नेटवर्क रेडियो बंद है, इसलिए मैं डेटा भेजने में सक्षम नहीं हूं !!! – NitZRobotKoder
हाँ! मैंने फिर से आपके प्रश्न को फिर से पढ़ने के बाद कुछ हद तक महसूस किया ... आश्चर्यचकित हूं, विश्वास नहीं कर सकता है कि एंड्रॉइड ने इसे बदल दिया है, सोचा होगा कि रेडियो बंद होने वाली आखिरी चीज है - जुआ पोस्ट के लिए खेद है क्योंकि आप जो देख रहे हैं के लिए ... – t0mm13b
ठीक है !! हाँ अजीब क्यों व्यवहार बदल गया !! – NitZRobotKoder