从本地文件或 Google Play 安装时如何将参数传递给我的应用程序?

How pass params to my app when installed from local files or from Google Play?

我正在制作一个向用户显示个性化问候消息的应用程序。

例如: 如果我通过蓝牙将我的应用程序(或者我通过电子邮件发送应用程序以供安装)发送给 X 人以祝贺他生日那天,一旦该人安装了该应用程序,就会出现一条消息说 "Congratulations X".

编辑: 我在 Google 安装应用程序时找到了解决方案 Pass param to app when installed from Google Play

但如果场景不同,因为不是所有收到应用程序的人都可以访问Google Play。

@mes 发布了 where he suggested to use AccountManager。但是如果设备没有注册账号或者设备没有联网怎么办?

例如,如果我将应用程序发送给 X(X 安装了该应用程序并将看到他的祝贺消息 "Congratulations X")并且 X 想祝贺他的朋友 Y(消息 "Congratulations Y") X 将该应用程序复制到他朋友设备的 SD 中,并希望 Y 安装该应用程序时,Y 可以看到消息 "Congratulation Y".

这是同一个应用程序,但我需要在安装应用程序时传递将要受到祝贺的人的名字,这样,一旦应用程序打开,每个人都可以收到带有他名字的祝贺信息.

有办法实现吗?

我可以建议另一种问候消息的解决方案,您可以获取用户的注册帐户,然后使用其中一个名称,例如 Google 帐户名称或 Facebook 帐户名称。 检查此 link,这可能会有帮助 AccountManager

我想你在从 google play 安装时已经弄清楚了,所以让我们关注一下当你通过电子邮件发送你的 apk 并且用户在设备中没有帐户并且他没有也有互联网连接。

所以,我怀疑您希望用户必须将您的 .apk 放入 sdcard,然后通过某些文件管理器打开它,对吗?

在那种情况下,为什么不发送一个额外的文件(如 user.info)并指示用户将这两个文件(.apk 和 .info)保存到 sdcard 中,然后在您打开应用程序时第一次在sdcard里找user.info这个文件,看里面的内容就知道用户名什么的了?

更好...您可以将这两个文件压缩到一个 zip 文件中并指示它们 "extract the zip content to your sdcard and blah, blah. blah.."

这样一来,您将拥有一个单一的应用程序编译,并且您需要的所有自定义信息都位于 user.info 文件中。

您可以将 .info 文件附加到 .apk 文件中,但这要复杂得多。但如果您对此类解决方案感兴趣,请阅读更多内容 here