2013-08-20 11 views
5

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

+0

आपने स्थान निर्दिष्ट नहीं किया है। – Prakhar

+0

[एंड्रॉइड: स्थापित करें। एपीके प्रोग्रामेटिक रूप से स्थापित करें] (http://stackoverflow.com/questions/4967669/android-install-apk-programmatically) – jk2K

उत्तर

5

एक apk उपयोग इस कोड को स्थापित करने के लिए:

Intent promptInstall = new Intent(Intent.ACTION_VIEW) 
    .setData(Uri.parse("file:///path/to/your.apk")) 
    .setType("application/vnd.android.package-archive"); 
startActivity(promptInstall); 
+0

प्रतिक्रिया के लिए धन्यवाद प्रखर – Uday

+1

फिर ऊपर या स्वीकार करें .. – Prakhar

+0

हाय, कहां चाहिए मैंने एपीके फाइल डाली? –

3

स्वचालित रूप से डाउनलोड करने के बाद फ़ाइल को स्थापित करने के लिए, आप के बाद यह संदेश प्रसारण से डाउनलोड करने के बाद यह कार्रवाई करने की युक्ति बता घोषित करने के लिए की जरूरत है डाउनलोड:

registerReceiver(onComplete, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE)); 

और हैंडलर:

BroadcastReceiver onComplete=new BroadcastReceiver() { 
public void onReceive(Context ctxt, Intent intent) { 

    long id = intent.getExtras().getLong(DownloadManager.EXTRA_DOWNLOAD_ID); 
    DownloadManager dm =(DownloadManager)getSystemService(DOWNLOAD_SERVICE); 
    intent = new Intent(Intent.ACTION_VIEW); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    intent.setDataAndType(dm.getUriForDownloadedFile(id), 
    dm.getMimeTypeForDownloadedFile(id)); 
    startActivity(intent); 
} 
}; 
+0

@ एडीबी ईआई-रहमान, मैंने आपके द्वारा किए गए बदलाव किए हैं लेकिन मुझे "फ़ाइल नाम" के लिए जो कुछ दिया है, वह नहीं मिल रहा है क्योंकि मुझे नहीं पता कि डाउनलोड करने के बाद फ़ाइल की बचत कहां है। – Uday

+0

@Uday संपादन के बाद इस कोड को आजमाएं .. इसे –

+0

@ एडीबी ईआई-रहमान काम करना चाहिए मैंने आपके द्वारा दिए गए कोड को रखा है लेकिन यह त्रुटि दिखा रहा है "विधि getUriForDownloadedFile (long) डाउनलोडमैनेजर प्रकार के लिए अपरिभाषित है।" :( – Uday

0

@Uday, @Adb El-Rahman का कोड काम करता है। जब आप डाउनलोड शुरू करते हैं तो आपको गंतव्य यूरी सेट करने की आवश्यकता होती है।

String sAndroidUrl = "http://somesite.com/Install.apk"; 

dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); 
Request request = new Request(Uri.parse(sAndroidUrl)); 
String sDest = "file://" + android.os.Environment.getExternalStorageDirectory().toString() + "/Download/Install.apk"; 
request.setDestinationUri(Uri.parse(sDest)); 
enqueue = dm.enqueue(request); 
+0

पर उत्तर दें, मैं यह कोड कहां रखूं? – hariszaman

संबंधित मुद्दे