回答:
あなたがapplicationIdgradleで定義された値を探しているなら、あなたは単に使うことができます
BuildConfig.APPLICATION_ID
よるならばapplication id、あなたが参照しているpackage name、あなたは、この方法を使用することができますContext::getPackageName(http://を://developer.android.com/reference/android/content/Context.html#getPackageName%28%29 HTTP)。
他のアプリケーションと通信したい場合、複数の方法があります:
正確な要件を詳しく説明できる場合は、コミュニティがよりよい支援を提供できます。
Context.getPackageName() は、パッケージ名ではなくアプリケーションIDを返します(ただし、通常は同じです)。メソッドのやや紛らわしい名前はレガシーです。ソース:developer.android.com/studio/build/application-id
どの「アプリケーションID」を参照しているのかはわかりませんが、アプリケーションの一意の識別子として使用できます。
現在のアクティビティのgetApplication()。getPackageName()メソッド
getApplicationContext().getPackageName()よね?
パッケージ名はAndroidアプリIDです。
文字列appId = BuildConfig.APPLICATION_ID
または
https://play.google.com/store/apps/details?id=com.whatsapp
アプリID = com.whatsapp
ステップ1:Google Playストアを開く
ステップ2:App Storeでアプリを開く 例:facebook
ステップ3:任意のアプリをクリックして、ブラウザーリンクを確認すると、最後にid = com.facebook.katana&hl = enが表示され、これがアプリの一意のIDになります。
アプリ/インストールIDが何のために必要かはわかりませんが、Android開発者によるすばらしい記事で既存の可能性を確認できます。
総括する:
UUID.randomUUID() インストール後にアプリを初めて実行したときにIDを作成し、その後簡単に取得するためTelephonyManager.getDeviceId() 実際のデバイス識別子Settings.Secure.ANDROID_ID 比較的最近のデバイスPackageInfo.sharedUserIdフィールドは、ユーザIDが表示されますマニフェストに割り当てられているが。
2つのアプリケーションが同じuserIdを持つようにして、互いのデータを表示して同じプロセスで実行できるようにする場合は、マニフェストで同じuserIdを割り当てます。
android:sharedUserId="string"
同じsharedUserIdを持つ2つのパッケージも同じ署名を持つ必要があります。
また、ここを読んで、正しい方向に向けて調整することをお勧めします。
新しい** Gradleビルドシステムを使用している場合getPackageName、パッケージ名ではなく、アプリケーションIDが奇妙に返されます。だからMasterGauravの答えは正しいですが、彼は++で始める必要はありません
アプリケーションIDの場合、パッケージ名を参照しています...
違いの詳細については、こちらをご覧ください。
**現時点ではそれほど新しくない
++私は彼の答えが2011年に完全に理解できたことを理解
インストールを追跡するには、たとえば、UUIDを識別子として使用し、アプリがインストール後に初めて実行されるときに新しいUUIDを作成するだけです。以下は、1つの静的メソッドInstallation.id(Context context)を持つ「Installation」という名前のクラスのスケッチです。さらに、インストール固有のデータをINSTALLATIONファイルに書き込むことを想像できます。
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();
}
}
Yonは、https://github.com/MShoaibAkram/Android-Unique-Application-IDで詳細を確認できます