2012-02-14 22 views
9

पर एसडी कार्ड के लिए ले जाया गया है मैं installLocation कि पता लगाना किसी ऐप्लिकेशन या ले जाया जा सकता है, तो नहीं की अनुमति देता है इस्तेमाल किया। लेकिन मैं यह नहीं समझ सकता कि क्या होता है जब हम यह जानना चाहते हैं कि कोई ऐप किसी एसडी कार्ड में स्थानांतरित हो गया है या नहीं।कैसे पता लगाने के लिए अगर किसी एप्लिकेशन एंड्रॉयड

ApplicationInfo विशेषता FLAG_EXTERNAL_STORAGE केवल आपको बताती है कि ऐप को एसडी में इंस्टॉल किया गया है या नहीं, अगर इसे स्थानांतरित किया गया है। मैं उन ऐप्स की एक सूची तैयार कर रहा हूं जिन्हें एसडी कार्ड में स्थानांतरित किया जा सकता है। तो मैं उत्पन्न पहली सूची मेनिफेस्ट के installLocation का उपयोग कर रहा हूं। इस सूची से मुझे उन ऐप्स को फ़िल्टर करना होगा जो पहले ही एसडी कार्ड में स्थानांतरित हो चुके हैं।

उत्तर

0

अपने स्थान स्थापित कर लेते हैं ऑटो आप या तो फोन करने के लिए या ठीक इसके विपरीत एसडी कार्ड से आवेदन स्थानांतरित कर सकते हैं है। आप डिवाइस एप्लिकेशन मैनेजर में मैन्युअल रूप से ऐप स्थान देख सकते हैं।

+0

धन्यवाद, लेकिन मैं एक अनुप्रयोग लिख रहा हूँ तो मैं प्रोग्राम के रूप में पता लगाने के लिए की जरूरत है। मुझे यह जानने की ज़रूरत है कि एंड्रॉइड कक्षाओं का क्या उपयोग किया जा सकता है जो बताएगा कि एसडी कार्ड पर एसडी कार्ड में इंस्टॉल नहीं किया गया है या नहीं। –

2

आवेदन की जाँच करने के लिए एसडी कार्ड या नहीं में स्थापित किया गया है, तो बस इस कार्य करें:

ApplicationInfo io = context.getApplicationInfo(); 

if(io.sourceDir.startsWith("/data/")) { 

//application is installed in internal memory 

} else if(io.sourceDir.startsWith("/mnt/") || io.sourceDir.startsWith("/sdcard/")) { 

//application is installed in sdcard(external memory) 

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