【问题标题】:how to get account details on clicking email address on particular person?如何获取有关单击特定人的电子邮件地址的帐户详细信息?
【发布时间】:2018-07-09 06:04:40
【问题描述】:

如何获取有关在 android 中单击特定人员的电子邮件地址的帐户详细信息,如在 google 应用程序 YouTubeGo 中使用的那样

Please take a look into image

【问题讨论】:

    标签: android gmail gmail-api


    【解决方案1】:

    在您的清单文件中放入以下行。

        <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    

    然后使用下面的代码在您运行的设备中获取配置的电子邮件 ID。

    Kotlin 中的代码:

      private fun getEmailID() {
        val listEmail: ArrayList<String> = arrayListOf()
        val emailPattern = Patterns.EMAIL_ADDRESS
        val accounts = AccountManager.get(this).accounts
        accounts.filter { emailPattern.matcher(it.name).matches() }
                .mapTo(listEmail) { it.name }
        val arrayAdapter = ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listEmail)
        spinnerEmail.adapter = arrayAdapter
    }
    

    在 Java 中使用如下:

      public String extractAddressFromAccountManager() {
        accountList = new ArrayList<>();
    
        Pattern emailPattern = Patterns.EMAIL_ADDRESS; // API level 8
        Account[] accounts = AccountManager.get(this).getAccountsByType("com.google");
        for (Account account : accounts) {
            if (emailPattern.matcher(account.name).matches()) {
                accountList.add(account.name);
                //return account.name;
            }
        }
        return null;
    }
    

    获得如下许可:

        private boolean isGetAccountsPermissionAllowed() {
        int result = ContextCompat.checkSelfPermission(this, Manifest.permission.GET_ACCOUNTS);
        if (result == PackageManager.PERMISSION_GRANTED)
            return true;
        return false;
    }
    

    如果未授予使用以下获取:

       private void requestGetAccountsPermission() {
        ActivityCompat.shouldShowRequestPermissionRationale(this, android.Manifest.permission.GET_ACCOUNTS);
        ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.GET_ACCOUNTS}, GET_ACCOUNTS_PERMISSION_REQUEST_CODE);
    }
    

    【讨论】:

    • 我已经获得了电子邮件 ID 列表,但我想要关于单击 youTubeGo 中使用的电子邮件 ID 的帐户详细信息。
    猜你喜欢
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 2011-12-01
    • 2013-09-06
    • 1970-01-01
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    相关资源
    最近更新 更多