【问题标题】:android sdk prompt toast message in account settingsandroid sdk 在账户设置中提示 toast 消息
【发布时间】:2013-12-06 11:03:05
【问题描述】:

我正在使用 AbstractAccountAuthenticator 并且我想为我的应用使用单一帐户。因此,当用户选择为此应用添加新帐户时,我想提示一条消息。我看到其他应用程序使用 toast 来发送消息,但由于某些原因,我的应用程序没有显示。

我这样显示消息:

public Bundle addAccount() {
    if (accounts.size() > 0) {
        Toast.makeText(context, R.string.MSG_ONLY_ONE_ACCOUNT_IS_SUPPORTED, Toast.LENGTH_LONG).show();
        return null;
    }
}

任何想法为什么?我正在从 AbstractAccountAuthenticator 检查 addAccount() 方法中的帐号。

【问题讨论】:

  • 你确认addAccount()被调用并且accounts.size()实际上是> 0吗?
  • 是的,一切正常,除了没有显示的消息

标签: android authentication message account


【解决方案1】:

我一直在寻找同样的东西。以下答案对我有帮助:1、2。

使用您的代码示例:

private final Handler handler = new Handler();

public Bundle addAccount(...) {
    if (accounts.size() > 0) {
        final Bundle bundle = new Bundle();
        final String message = 
                  mContext.getString(R.string.MSG_ONLY_ONE_ACCOUNT_IS_SUPPORTED);
        bundle.putInt(AccountManager.KEY_ERROR_CODE, 1);
        bundle.putString(AccountManager.KEY_ERROR_MESSAGE, message);

        handler.post(new Runnable() {
            @Override
            public void run() {
                Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
            }
        });

        return bundle;
    }
}

【讨论】:

  • 确保 Handler 是在 addAccount 方法之外定义的,否则你会得到一个错误(就像我做的那样)。仅供大家参考。
  • 非常感谢您的这篇文章。拯救了我的一天。
  • 谢谢!,我不知道这是否是在客户经理中显示错误的最佳方式,但它有效!
猜你喜欢
  • 1970-01-01
  • 2019-12-06
  • 2011-12-09
  • 2014-07-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-15
  • 1970-01-01
相关资源
最近更新 更多