2012-05-03 17 views
33

जब मेरा टैबलेट शुरू होता है तो मैं अपना ऐप लॉन्च करना चाहता हूं, ताकि मेरे ऐप की मुख्य गतिविधि टैबलेट शुरू करने पर पहली बार दिखाई दे।
मैंने लॉन्चर एक्टिविटी के बारे में पढ़ा है लेकिन मुझे समझ में नहीं आता कि इसका उपयोग कैसे किया जाए।
क्या कोई मुझे इसके लिए सुझाव, लिंक या ट्यूटोरियल के साथ मदद कर सकता है?
लॉन्चर एक्टिविटी सबसे अच्छा तरीका है या क्या विकल्प हैं?बूट समय पर एप्लिकेशन को कैसे शुरू/लॉन्च करें एंड्रॉइड

+0

इम, इसी तरह की सुविधा की तलाश में है, तो आप सफल कृपया मेरे साथ कोड साझा करें। – Anirudh

उत्तर

69

कोड के इन लाइन हो सकता है आप के लिए उपयोगी ...

Step1: AndroidManifest.xml

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

चरण 2 में अनुमति सेट:, जोड़े इस रिसीवर में लक्ष्य फ़िल्टर है

<receiver android:name=".BootReciever"> 
    <intent-filter > 
     <action android:name="android.intent.action.BOOT_COMPLETED"/> 
    </intent-filter> 
</receiver> 

चरण 3: अब आप रिसीवर कक्षा की रिसीव विधि से अपने आवेदन की पहली गतिविधि शुरू कर सकते हैं। ।

public class BootReciever extends BroadcastReceiver 
{ 

@Override 
public void onReceive(Context context, Intent intent) { 
    // TODO Auto-generated method stub 
    Intent myIntent = new Intent(context, Tabs.class); 
    myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(myIntent); 
} 

} 
+1

चक्कर आते हैं, इस कदम से अधिक मेरी मुख्य गतिविधि मस्त लॉन्चर एक्टिविटी या बस गतिविधि को बढ़ाती है? –

+1

इसके बजाय आप रिसीवर का उपयोग कर सकते हैं, जो ठीक काम करेगा ... कोड की नई अद्यतन लाइन की जांच करें .. –

+0

चरण 3 में Tabs.class मेरी मुख्य गतिविधि होनी चाहिए ??? –

11

आप अनुप्रयोग शुरू करने के लिए जब गोलियाँ शुरू होता है चाहते हैं, आप BOOT_COMPLETED कार्रवाई करने के लिए सुनो और इसे करने के लिए प्रतिक्रिया करने के लिए की जरूरत है। BOOT_COMPLETED एक ब्रॉडकास्ट एक्शन है जिसे सिस्टम बूट करने के बाद, एक बार प्रसारित किया जाता है। आप BroadcastReceiver बनाकर इस क्रिया को सुन सकते हैं जो तब आपकी लॉन्च गतिविधि शुरू करता है जब उसे BOOT_COMPLETED कार्रवाई के साथ कोई इरादा प्राप्त होता है।

अपने प्रकट करने के लिए इस अनुमति जोड़ें:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

अपनी परियोजना में एक कस्टम BroadcastReceiver बनाएँ:

public class MyBroadCastReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 

     if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){ 
      Intent i = new Intent(context, MyActivity.class); 
      i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
      context.startActivity(i); 
     } 
    } 
} 

तब प्रकट करने के लिए BroadCastReceiver जोड़कर अपने मैनिफ़ेस्ट फ़ाइल को संशोधित:

<receiver android:name=".MyBroadcastReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 
+1

सामान्य स्टार्टअप स्क्रीन दिखाने के बाद, काम नहीं करता है, मेरा इरादा लगभग 2 सेकंड के बाद बुलाया जा रहा है। – Anirudh

2

@vishesh चंद्र द्वारा उत्तर सही है। लेकिन कुछ डिवाइस पर काम नहीं करता है क्योंकि डिफ़ॉल्ट रूप से बाहरी स्टोरेज पर ऐप इंस्टॉल किया गया था। कृपया सुनिश्चित करें कि आप एंड्रॉइड निर्दिष्ट करें: installLocation = "internalOnly" अन्यथा यदि आप एसडी कार्ड में ऐप इंस्टॉल करते हैं तो आपको कोई बूट पूर्ण क्रियाएं नहीं मिलेंगी। इसे manifest.xml फ़ाइल में एप्लिकेशन टैग में जोड़ें और यह काम करेगा।

0

मैं इस प्रश्न में एक बिंदु जोड़ना चाहता हूं जिसे मैं दो दिनों के लिए सामना कर रहा था। मैंने सभी उत्तरों की कोशिश की लेकिन वे मेरे लिए काम नहीं कर रहे थे। यदि आप एंड्रॉइड संस्करण 5.1 का उपयोग कर रहे हैं तो कृपया इन सेटिंग्स को बदलें।

यदि आप एंड्रॉइड संस्करण 5.1 का उपयोग कर रहे हैं तो आपको ऐप सेटिंग्स से डिस-सिलेक्ट (लॉन्च करने के लिए प्रतिबंधित) करना होगा।

सेटिंग> एप्लिकेशन> अपना ऐप> शुरू करने के लिए (असंतुष्ट चयन) प्रतिबंधित

कृपया चित्र देखें।

Image