अन्य उत्तर है कि आप स्पष्ट रूप से संसाधन नाम या पैकेज नाम के साथ अपवाद बारे में चिंता करने की आवश्यकता नहीं है की तुलना में एक आसान तरीका नहीं है। यह भी काम करता है अगर आपने संसाधन के बजाय सीधे स्ट्रिंग का उपयोग किया है।
बस कार्य करें:
public static String getApplicationName(Context context) {
ApplicationInfo applicationInfo = context.getApplicationInfo();
int stringId = applicationInfo.labelRes;
return stringId == 0 ? applicationInfo.nonLocalizedLabel.toString() : context.getString(stringId);
}
आशा इस मदद करता है।
संपादित
Snicolas से टिप्पणी के प्रकाश में, मैं ऊपर इतना है कि यह आईडी को हल करने अगर यह 0. इसके बजाय यह का उपयोग करता है, nonLocalizedLabel
एक backoff के रूप में है कोशिश नहीं करता संशोधित कर लिया है। कोशिश/पकड़ में लपेटने की कोई ज़रूरत नहीं है।
क्या बजे यहाँ है? –
@ ऋषभटायल अपराह्न PackageManager ऑब्जेक्ट को इंगित करता है। –
@VipulShah मैं हर बार अज्ञात हो रहा हूं – nida