Context :: getPackageName
(http://developer.android.com/reference/android/content/Context.html#getPackageName%28%29)获取。Context.getPackageName()
确实返回应用程序ID而不是包名(尽管它们通常相同)。该方法名称有些令人困惑,是因为它是遗留的。来源:https://developer.android.com/studio/build/application-id - LoPoBo我不确定你所指的“应用程序ID”是什么,但是如果你需要一个唯一标识符来表示你的应用程序,你可以使用以下方法:
从当前活动中获取 getApplication().getPackageName() 方法
getApplicationContext().getPackageName()
吗? - superarts.org获取AppId(或包名,有些人这样说)只需调用以下内容:
但请确保您导入了带有应用程序ID包路径的BuildConfig
BuildConfig.APPLICATION_ID
包名是您的Android应用程序ID。
String appId = BuildConfig.APPLICATION_ID
或者
https://play.google.com/store/apps/details?id=com.whatsapp
应用程序ID = com.whatsapp
步骤1:打开Google Play商店
步骤2:打开应用商店中的任何应用程序例如:Facebook
步骤3:单击任何应用程序并查看浏览器链接,在结尾处将会有id=com.facebook.katana&hl=en,这就是您应用程序的唯一标识符。
否则,您可以获取应用程序运行的进程ID:
final static int android.os.Process.myPid()
返回此进程的标识符,可与killProcess(int)和sendSignal(int, int)一起使用。
我不确定您需要应用程序/安装ID的原因,但您可以在Android开发人员的一篇很棒的文章中查看现有的可能性:
总结:
UUID.randomUUID()
用于在应用程序首次运行后创建ID以及简单的检索TelephonyManager.getDeviceId()
用于实际设备标识符Settings.Secure.ANDROID_ID
在相对较新的设备上使用PackageInfo.sharedUserId
字段将显示在清单中分配的用户ID。
如果您希望两个应用程序具有相同的userId,以便它们可以查看彼此的数据并在同一进程中运行,则在清单中为它们分配相同的userId:
android:sharedUserId="string"
具有相同sharedUserId的两个包还需要具有相同的签名。
我也建议阅读此处以获取正确方向上的线索。
BuildConfig.LIBRARY_PACKAGE_NAME
,如此回答 这里。 - Chagai Friedlander