我打算在我的应用程序中实现密码重置功能。经过一些研究,我已经评估了这种方法以满足我的需求:
password_change_requests
,其中包含ID
,Time
和UserID
列。当用户按下“发送”按钮以重置密码时,在表中创建记录。 Time
列包含用户按下“忘记密码”按钮的时间。 ID
是一个字符串。创建一个长随机字符串,然后像密码一样进行哈希处理。然后将此哈希用作表中的“ID”。这种方法的灵感来自于Vilx-对this question的回答。
乍一看,上面介绍的方法似乎很容易实现。但我遇到了一些令人头疼的问题。步骤(1)和(2)易于实现。当我仔细观察步骤(3)和(4)时,我最初的想法是通过电子邮件发送某种Intent
,因为这是启动应用程序的常用方法。但由于意图的“来源”充其量只是HTML代码,我不太确定这是否有效。
如果这是不可能的,有没有其他方法可以解决上述方法?
答案 0 :(得分:3)
如何从用户收件箱中的电子邮件(比如HTML锚标签)启动我的特定Android应用程序?
无法保证这样做。电子邮件应用程序没有义务向您嗤之以鼻。
我们欢迎您在自己的应用中开展一项活动,其<intent-filter>
广告您希望回复某些网址或网址前缀,例如http://marcussystem.com/hey/lets/run/the/app
。理论上,当用户点击指向匹配网址的电子邮件中的链接时,您的应用程序将包含在选择器中(以及Web浏览器)供用户选择。
或者,欢迎您使用打开您的某项活动的intent
计划制作网址。电子邮件客户端可能无法将其识别为有效的URL,但它会绕过选择器。
但是,同样,没有要求任何电子邮件客户端支持您想要的内容。对于碰巧在移动Web浏览器中查看其电子邮件的用户而言,这是双倍的。
如何通过电子邮件将数据(ID字符串)传递给我的应用程序?
在http
网址的情况下,让它成为网址本身的一部分,最好是路径:http://marcussystem.com/hey/lets/run/the/app/and/here/is/the/ID/...
,其中...
是您的ID(假设它是纯粹的网址路径)友好的人物)。