在Android中,如何以编程方式(或通过其他方法)获取应用程序的ID,以及如何使用该ID与其他应用程序进行通信?如何获取Android应用程序ID?
回答
我不知道什么是“应用程序ID”你是指,但对于应用程序的一个唯一的标识符,您可以使用:
getApplication()getPackageName()方法,从当前的活动
PackageInfo.sharedUserId
字段将显示在清单中分配的用户Id 。
如果你想两个应用程序具有相同的用户id,这样他们就可以看到对方的数据,并在同一个进程中运行,然后将它们分配清单中的相同用户名:
android:sharedUserId="string"
两个包带相同的sharedUserId也需要具有相同的签名。
我也建议您阅读here以正确方向轻推。
如果整个目的是与其他应用程序通信数据,请使用Intent的sendBroadcast方法。
否则你可以得到进程的ID您的应用程序在运行:
最终静态INT android.os.Process.myPid()
返回此进程的标识,它可以与killProcess使用(INT )和sendSignal(int,int)。
我不知道你所需要的应用程序/安装ID,但你可以从Android开发了一大篇检讨现行的可能性:
综上所述:
UUID.randomUUID()
用于在安装后第一次创建id并在之后进行简单检索TelephonyManager.getDeviceId()
对相对现代设备
如果application id
,你指的是package name
,则可以使用该方法Context::getPackageName
(http://http://developer.android.com/reference/android/content/Context.html#getPackageName%28%29)实际设备标识符
Settings.Secure.ANDROID_ID
。 如果你想与其他应用程序进行通信,有多种方法:
- 启动另一个应用程序的活动,并在“其他”发送数据的“意图”
- 的发送广播如果您只需要共享结构化数据,请使用内容提供商
- 如果其他应用程序需要在后台连续运行,请使用Server并将您自己“绑定”到服务。
如果您可以详细说明您的具体要求,社区将能够更好地为您提供帮助。
如果我想显示应用程序列表,并且需要将该ID作为整数,就像所有列表适配器都需要一样,该怎么办?我可以使用安装时间,但它是一个很长的类型。将它转换为int仍然有帮助? – 2015-11-08 23:38:20
包名通常不是applicationId,当您通过build.gradle进行设置时! – 2017-02-24 13:16:15
如果您使用的是新的Gradle构建系统,那么getPackageName
会奇怪地返回应用程序ID,而不是包名称。所以MasterGaurav的答案是正确的,但他并不需要与++
如果应用程序ID,你指的是包的名字开始......
查看更多有关分歧here 。
**在这一点上不那么新
++我意识到,他的答案在2011年
非常有意义如果正在寻找在gradle这个applicationId
定义的值,你可以简单地使用
BuildConfig.APPLICATION_ID
Gradle太棒了!这是一个生活救星。 – hgoebl 2016-10-04 07:07:52
如果你正在编写一个Android库,这不会有用 – 2017-09-13 09:54:32
- 1. Android获取应用程序ID
- 2. Android - 如何获取Flavor的应用程序Id
- 3. 如何在Android中获取应用程序ID?
- 4. 获取Android应用程序
- 5. 获取Android应用程序
- 6. 如何从应用程序对象获取应用程序页面ID
- 7. 获取Facebook的应用程序ID?
- 8. 获取应用程序图标Id - Monodroid
- 9. 如何获取Android线程ID?
- 10. Android应用程序ID
- 11. 获取位置ID的城市在android应用程序
- 12. 如何使用Linkedin应用程序获取iOS应用程序的应用程序ID?
- 13. 如何获取Paypal的应用程序ID?
- 14. 如何在Google应用程序脚本中获取文件ID
- 15. 如何在应用程序脚本中获取表单ID
- 16. 如何获取贝宝实时应用程序ID
- 17. 如何获取PayPal沙箱的应用程序ID?
- 18. WM_COMMAND - 如何从另一个应用程序menuitem获取ID?
- 19. DB2 for z/os V11 - 如何获取应用程序ID?
- 20. 如何从Air应用程序获取主板ID?
- 21. 在PySide2应用程序中,如何获取QWindow的ID?
- 22. 如何在运行时获取应用程序ID
- 23. 如何在iframe应用程序中获取Facebook页面ID(C#)
- 24. 如何在android应用程序中从facebook sdk获取电子邮件ID?
- 25. 如何从最新版本的仪表板获取IBM Bluemix Android应用程序的应用程序安全ID?
- 26. iPhone应用程序:如何从应用程序ID获取应用程序图标?
- 27. 如何从MVC Internet应用程序获取Android应用程序中的DbSets?
- 28. 如何从android中的进程获取应用程序名称?
- 29. 如何获得Android应用程序的应用程序列表?
- 30. Android - 从应用程序获取应用程序
每个安装的应用程序有一个唯一的ID ...是有可能从其他应用程序 – arams 2009-08-12 09:27:51
得到一个应用程序的唯一ID不是吧'getApplicationContext()。getPackageName()'? – 2016-02-26 02:53:39