जवाबों:
यदि आपकी applicationIdग्रेडेल में परिभाषित मूल्य की तलाश है , तो आप बस उपयोग कर सकते हैं
BuildConfig.APPLICATION_ID
यदि application idआप इसका उल्लेख कर रहे हैं package name, तो आप विधि का उपयोग कर सकते हैं Context::getPackageName( http: // http: //developer.android.com/reference/android/content/Context.html#getPackageName%28%29 )।
यदि आप अन्य एप्लिकेशन के साथ संवाद करना चाहते हैं, तो कई तरीके हैं:
यदि आप अपनी सटीक आवश्यकता को विस्तृत कर सकते हैं, तो समुदाय आपकी बेहतर मदद कर सकेगा।
Context.getPackageName() करता है आवेदन आईडी और वापसी नहीं (हालांकि वे आम तौर पर एक ही हैं) पैकेज का नाम। विधि का कुछ भ्रमित नाम विरासत है। स्रोत: developer.android.com/studio/build/application-id
मुझे यकीन नहीं है कि आप किस "एप्लिकेशन आईडी" का जिक्र कर रहे हैं, लेकिन आपके आवेदन की एक विशिष्ट पहचानकर्ता के लिए आप इसका उपयोग कर सकते हैं:
getApplication ()। getPackageName () आपकी वर्तमान गतिविधि से विधि
getApplicationContext().getPackageName()?
पैकेज का नाम आपकी एंड्रॉइड ऐप आईडी है।
स्ट्रिंग appId = BuildConfig.APPLICATION_ID
या
https://play.google.com/store/apps/details?id=com.whatsapp
ऐप आईडी = com.whatsapp
चरण 1: Google Play Store खोलें
चरण 2: ऐप स्टोर में कोई भी ऐप खोलें उदाहरण: फेसबुक
स्टेप 3: किसी भी ऐप पर क्लिक करें और ब्राउजर लिंक पर देखें और आखिर में id = com.facebook.katana & hl = en वहां होगा और यह आपका ऐप यूनिक आईडी है।
आपके द्वारा अपना आवेदन चलाने की प्रक्रिया को पूरा करने की प्रक्रिया
अंतिम स्थिर int android.os.Process.myPid ()
इस प्रक्रिया के पहचानकर्ता को वापस करता है, जिसका उपयोग किलप्रोसेस (int) और सेंसिग्नल (int, int) के साथ किया जा सकता है।
मुझे यकीन नहीं है कि आपको ऐप / इंस्टॉलेशन आईडी की आवश्यकता क्या है, लेकिन आप एंड्रॉइड डेवलपर्स से एक महान लेख में मौजूदा संभावनाओं की समीक्षा कर सकते हैं:
सारांश में:
UUID.randomUUID() पहली बार आईडी बनाने के लिए एक ऐप इंस्टॉलेशन और सिंपल रिट्रीवल के बाद चलता हैTelephonyManager.getDeviceId() वास्तविक उपकरण पहचानकर्ता के लिएSettings.Secure.ANDROID_ID अपेक्षाकृत आधुनिक उपकरणों परPackageInfo.sharedUserIdक्षेत्र उपयोगकर्ता आईडी दिखाएगा प्रकट में सौंपा ।
यदि आप चाहते हैं कि दो एप्लिकेशन एक ही उपयोगकर्ता के पास हों, तो वे एक-दूसरे के डेटा को देख सकते हैं और एक ही प्रक्रिया में चल सकते हैं, फिर उन्हें एक ही उपयोगकर्ता-आईडी को असाइन करें:
android:sharedUserId="string"
एक ही शेयर्सUserId वाले दो पैकेजों में भी एक ही हस्ताक्षर होना चाहिए।
मैं सही दिशा में कुहनी मारने के लिए भी यहाँ पढ़ने की सलाह दूंगा।
यदि आप नए ** ग्रैड बिल्ड सिस्टम का उपयोग कर रहे हैं तो getPackageNameअजीब तरह से एप्लीकेशन आईडी लौटाएगा, पैकेज नाम नहीं। तो मास्टरगौरव का जवाब सही है लेकिन उन्हें ++ के साथ शुरुआत करने की आवश्यकता नहीं है
यदि आवेदन आईडी द्वारा, आप पैकेज के नाम का जिक्र कर रहे हैं ...
यहां मतभेदों के बारे में अधिक देखें ।
** इस बिंदु पर इतना नया नहीं है
++ मुझे पता है कि उनके जवाब ने 2011 में सही अर्थों में बनाया
इंस्टॉलेशन को ट्रैक करने के लिए, आप उदाहरण के लिए एक पहचानकर्ता के रूप में एक यूयूआईडी का उपयोग कर सकते हैं, और स्थापना के बाद पहली बार एक नया ऐप बनाते हैं। यहाँ एक वर्ग का एक स्केच है जिसे "इंस्टालेशन" नाम दिया गया है जिसमें एक स्टैटिक विधि इंस्टालेशन है। संदर्भ (संदर्भ)। आप स्थापना फ़ाइल में अधिक स्थापना-विशिष्ट डेटा लिखने की कल्पना कर सकते हैं।
public class Installation {
private static String sID = null;
private static final String INSTALLATION = "INSTALLATION";
public synchronized static String id(Context context) {
if (sID == null) {
File installation = new File(context.getFilesDir(), INSTALLATION);
try {
if (!installation.exists())
writeInstallationFile(installation);
sID = readInstallationFile(installation);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
return sID;
}
private static String readInstallationFile(File installation) throws IOException {
RandomAccessFile f = new RandomAccessFile(installation, "r");
byte[] bytes = new byte[(int) f.length()];
f.readFully(bytes);
f.close();
return new String(bytes);
}
private static void writeInstallationFile(File installation) throws IOException {
FileOutputStream out = new FileOutputStream(installation);
String id = UUID.randomUUID().toString();
out.write(id.getBytes());
out.close();
}
}
योन https://github.com/MShoaibAkram/Android-Unique-Application-ID पर अधिक देख सकते हैं