मैं वर्तमान में एक सेवा है जो का उपयोग कर एक गतिविधि की onCreate विधि भीतर शुरू कर दिया है में बनाया सेवा प्रारंभ:एंड्रॉयड: बंद करो/OnCreate()
Intent intentService = new Intent(this, MainService.class);
this.startService(intentService);
अब मैं एक पर इस सेवा को रोकने के लिए सक्षम होना चाहिए बटन दबाएं और इसे फिर से एक और बटन प्रेस पर पुनरारंभ करें, हालांकि मुझे यह सुनिश्चित नहीं है कि इस सेवा को कैसे रोकें और इसे फिर से तैयार करें विधि के बाहर की ओर से शुरू करें।
मुझे लगता है कि मुझे वर्तमान में जो कुछ भी कर रहा है उससे अलग तरीके से सेवा शुरू करने की आवश्यकता होगी? लेकिन मैं इसके लिए सबसे अच्छी विधि पर अनिश्चित हूं।
मैंने stop service in android पर देखा था लेकिन सेवा शुरू करने की उनकी विधि क्रिएट के भीतर काम नहीं करती है।
एक और अधिक मेरे कोड को देखते पर पूरा:
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lock = (Button) this.findViewById(R.id.lock);
unlock = (Button) this.findViewById(R.id.unlock);
lock.setOnClickListener(btn_lock);
unlock.setOnClickListener(btn_unlock);
unlock.setVisibility(View.VISIBLE);
lock.setVisibility(View.GONE);
Intent intentService = new Intent(this, MainService.class);
this.startService(intentService);
}
private OnClickListener btn_lock = new OnClickListener() {
public void onClick(View v) {
unlock.setVisibility(View.VISIBLE);
lock.setVisibility(View.GONE);
}
};
private OnClickListener btn_unlock = new OnClickListener() {
public void onClick(View v) {
unlock.setVisibility(View.GONE);
lock.setVisibility(View.VISIBLE);
}
};
संपादित लगता है कि onCreate में यह केवल काम करता है कोड onclick श्रोता –
हाँ में काम नहीं करेगा। लेकिन पहले एक सेवा को रोकने का प्रयास करें और फिर इसे शुरू करें। अगर सेवा पहले ही बंद हो गई है तो यह क्रैश नहीं होगा – MDMalik
ऑनक्लिक श्रोता के भीतर काम नहीं करना प्रतीत होता है यह मानते हुए कि इसे किसी और चीज़ में बदला जाना चाहिए? 'This' उपयोग 'MainActivity.this' के बजाय ऑनक्लिक श्रोता में –