【问题标题】:Interface of Services服务接口
【发布时间】:2011-06-01 05:01:38
【问题描述】:

我正在制作一个应用程序(实际上是一个后台服务),现在我想要一个用于该应用程序的小用户界面来设置用户名和密码。

谁能指导我如何为此创建一个界面,如果我想更改用户名和密码,在界面中再次打开该界面的策略是什么。

我不希望我的应用程序有任何启动器。

请指导!

【问题讨论】:

    标签: android service android-service


    【解决方案1】:

    我建议你创建 Activity 来设置用户名和密码。它不必是外部可用的启动器活动。然后,您可以使用服务中的 Intent 和 startActivity() 来触发它。

    您将无法为结果启动活动,因此您需要在服务中进行一些回调才能在设置用户名/密码时继续。我在某个时候做的一件事是传递 Messenger 并将其用于回调。不过,从活动到服务,我以其他方式使用它,但我不明白为什么它不适用于您的情况。

    【讨论】:

      【解决方案2】:

      如果您希望用户能够打开它,您将需要一个启动器图标。在我之前的实现中,我刚刚实现了一个 PreferenceActivity,然后将首选项写入默认首选项文件。服务读取首选项并使用它来配置自己。

      如果您真的不想要启动器图标,那么您可以创建一个将在特定意图上启动的活动,然后通过 ADB 发送这些意图(请参阅Adb shell commands to change settings or perform tasks on a phone 上的一些示例),或者您可以实现一些网络服务kind(作为服务的一部分运行 telnet 服务器或 http 服务器)并与其通信以使其启动管理活动。

      【讨论】:

        【解决方案3】:

        我从您的问题中了解到,如果以下情况是代码,您需要从Service 开始Activity,并且不要将此活动作为您的应用程序的启动器。

        Intent mIntent = new Intent(getBaseContext(), Activity.class);
        mIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        getApplication().startActivity(mIntent);
        

        【讨论】:

          【解决方案4】:

          基本上,带有布局的服务是一个活动。因此,您需要为您的应用程序创建一个具有您需要的布局的活动。然后,您可以通过单击按钮或类似的方式启动服务并完成活动。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-02-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多