我一直在练习android应用程序来熟悉这个平台。具体来说,我正在尝试实现的应用程序允许用户选择一个声音文件(MP3或WAV)在特定日期和时间播放,显示一个带有进度条和“确定/取消”按钮的对话框,允许用户停止播放声音文件。我希望它表现得像我见过的倒计时应用程序,甚至是内置的闹钟应用程序。当我实现这个简单的时候(我想!)app,我正在努力更好地理解这个平台,使应用程序符合android的方式。
在我编写应用程序的过程中,我了解了更多关于android平台上的工作原理。这就是我有点困惑的地方。在我尝试触发和显示警报的过程中,我了解到,由于后台服务或广播接收器通过android的警报服务被调用,格式正确的android应用程序不应该显示对话框。相反,我认为应用程序应该使用状态栏上的通知来提醒用户。然后,用户可以查看通知,查看应用程序试图告诉他们什么。
我通过从android的报警服务启动的一个服务中启动一个新的活动,成功地获得了想要显示的对话框。不过,我这么做似乎违反了安卓规则。我首先知道这一点是因为我在ddms logcat窗口中看到一条消息,询问我是否确定要从服务启动新的活动。其次,我在几个地方读到这样做不好。一位谷歌开发人员说,他肯定会卸载一款类似的应用。
相反,如果我理解正确的话,这个应用程序应该使用状态栏和通知来吸引用户的注意力,让他们在闲暇时看到应用程序想要什么。这似乎与我的应用程序试图做的事情背道而驰。再一次,我试图让它运行起来,本质上,就像我看到的倒计时应用程序或者安卓手机上的内置闹钟应用程序。如果我的应用程序运行不正常,闹钟应用程序是否运行正常?很明显,我会说闹钟应用程序做的正是我所期望的。我想,我的应用程序的用户会希望声音文件播放时显示一个对话框,允许停止播放声音文件,而不必通过状态栏。
我是否正确理解Android平台?有什么意见可以这样一个应用程序实现,而不淘气,提出了我提到的对话?我希望这个应用程序被认为是一个格式良好的android应用程序,但我很难看到我的应用程序与我见过的其他应用程序,甚至是内置的闹钟应用程序有多么不同。
谢谢!
杰夫

最佳答案

用户通常不希望屏幕上出现随机的内容,尤其是在他们正在做某件事情的时候。毕竟,如果他们正在玩游戏或输入短信或其他东西,弹出的活动将破坏他们正在做的事情。
不管怎样,有些应用程序应该通过设计来实现这一点。例如,无论用户在做什么,传入的电话都会弹出In Call屏幕。可以肯定的是,一个报警风格的应用程序,像你的一样,有一些合理的权利这样做。
然而,也有一些开发人员认为用户是一堆排泄物。这样的开发人员觉得他们有权从后台随意弹出内容,因为作为开发人员,他们有权做自己想做的事情,用户会被诅咒。我想正是有了这些听众,洛格特才发出了警告。
如果我正在编写你的应用程序,我会让它成为用户的首选项,无论他们是希望警报只是触发Notification还是实际弹出Activity。但不管你如何处理,你的目标应该是做用户期望和欣赏的事情,即使这与你作为开发人员应该做的事情背道而驰。

关于android - 了解正确的Android警报“流程”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2040731/

10-12 00:34
查看更多