मेरे एंड्रॉइड एप्लिकेशन में, मेरे पास DefaultApplication
कक्षा है जो android.app.Application
तक फैली हुई है, और इसके onCreate()
में मैं कुछ सेवाओं को बांधता हूं जिनका उपयोग इस ऐप में मेरी अन्य गतिविधियों द्वारा किया जाएगा।एप्लिकेशन की ऑनक्रेट() विधि कब कॉल की जाती है?
इसके अलावा मेरे पास BroadcastReceiver
है जो सी 2 डीएम संदेश सुनता है और प्राप्त करता है। जब यह रिसीवर एक संदेश प्राप्त करता है जब एप्लिकेशन नहीं चल रहा है, तो यह एक संवाद को फायर करेगा जो आगामी संदेश दिखाता है और यह मेरे आवेदन की गतिविधि शुरू करेगा।
मेरा प्रश्न है, जब मैं DefaultApplication
के साथ किसी भी बातचीत के बिना एक गतिविधि शुरू है, मेरे DefaultApplication
के onCreate()
कहा जाता हो जाएगा क्योंकि है कि आवेदन की एक गतिविधि शुरू कर दिया है?
public class DefaultApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
doBindService();
}
void doBindService() {
// Establish a connection with the service. We use an explicit
// class name because we want a specific service implementation that
// we know will be running in our own process (and thus won't be
// supporting component replacement by other applications).
bindService(new Intent(DefaultApplication.this, SocketService.class),
socketServiceConnection, Context.BIND_AUTO_CREATE);
mIsBound = true;
}
void doUnbindService() {
if (mIsBound) {
// Detach our existing connection.
unbindService(socketServiceConnection);
mIsBound = false;
}
}
}
प्रकट इस तरह दिखता है:
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:name="com.mypackage.DefaultApplication"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:debuggable="true">
<service android:name="com.mypackage.services.SocketService"></service>
<activity android:name="TestActivity"
android:screenOrientation="landscape"></activity>
</application>
हाँ, यह इस काम करता है, मैं नहीं एक और बाकी देखा है ... – atasoyh
मैं unserstand नहीं तुम क्यों विस्तार 'Application' करते हैं? क्या आपको 'गतिविधि' का विस्तार नहीं करना चाहिए? – Caner
@LAS_VEGAS मेरे बाकी डिफॉल्ट एप्लिकेशन में मैं कुछ डेटा स्टोर करता हूं और कुछ विधियों को परिभाषित करता हूं जिनका उपयोग अनुप्रयोग-व्यापी होता है। मैंने यहां केवल इसका एक हिस्सा कॉपी किया है। –