首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏程序员开发工具

    Android 8.0(Android O) AccountManager 行为变更

    /或对应帐号类型的某个帐号 AccountManager#getAccounts()/getAccountsByType(String accountType) 获取不到 AccountManager 第一时间的反应是去查询官方 Android O 的行为变更,果然,Android O 对 AccountManager 做出了相应的修改。 ---- Android O AccountManager 适配方案 以下的解决方案来自 android 8.0 —AccountManager之行为变更 Target API level below AccountManager.VISIBILITY_UNDEFINED == visibility) { visibility = AccountManager.VISIBILITY_USER_MANAGED_NOT_VISIBLE 参考博客: android 8.0 —AccountManager之行为变更 转载请注明原博客地址

    1.7K00发布于 2018-09-18
  • 来自专栏啄木鸟软件测试

    Java单元测试——Mock技术配置

    源代码 AccountService.javapackage com.account; import com.account.Account;import com.account.AccountManager ; public class AccountService{ //使用的帐户管理器实现 private AccountManager accountManager; //设置帐户管理器实现的设置方法 public void setAccountManager( AccountManager manager ){ this.accountManager = manager; ( senderId ); Account beneficiary = this.accountManager.findAccountForUser( beneficiaryId ); . updateAccount( senderAccount ); AccountManager.updateAccount( beneficiaryAccount ); AccountManager.findAccountForUser

    1.8K20发布于 2020-08-29
  • 来自专栏信数据得永生

    安卓应用安全指南 5.3.1 将内部账户添加到账户管理器 示例代码

    bundle.putString(AccountManager.KEY_ERROR_CODE, String.valueOf(-1)); bundle.putString(AccountManager.KEY_ERROR_MESSAGE bundle.putString(AccountManager.KEY_ERROR_CODE, String.valueOf(-2)); bundle.putString(AccountManager.KEY_ERROR_MESSAGE checkAuthenticator()) return; AccountManager am = AccountManager.get(this); am.addAccount checkAuthenticator()) return; AccountManager am = AccountManager.get(this); Account[] private boolean checkAuthenticator() { AccountManager am = AccountManager.get(this);

    1.3K10编辑于 2022-12-01
  • 来自专栏啄木鸟软件测试

    ChatGPT与代码扫描

    ; public class AccountService { //使用的帐户管理器实现 private AccountManager accountManager; //设置帐户管理器实现的设置方法 public void setAccountManager( AccountManager manager ) { this.accountManager 根据以上问题,以下是修改后的代码: AccountManager.java package com.Account.JUnit5Project; public class AccountManager accountManager; public void setAccountManager(AccountManager manager) { if (manager == null 输入 基于Java编码规范的标准检查以下代码是否存在问题 AccountManager.java ... AccountManager.java ...

    60810编辑于 2024-09-10
  • 来自专栏啄木鸟软件测试

    ChatGPT与单元测试

    ; public class AccountService { //使用的帐户管理器实现 private AccountManager accountManager; //设置帐户管理器实现的设置方法 public void setAccountManager( AccountManager manager ) { this.accountManager 和Mockito的单元测试用例,分别针对Account.java、AccountManager.java和AccountService.java这三个类进行测试。 (); accountManager = mock(AccountManager.class); accountService.setAccountManager 同时,使用了Mockito来模拟AccountManager接口的实现,并对AccountService的transfer方法进行测试。 希望这个示例对你有所帮助!

    53710编辑于 2024-09-10
  • 来自专栏韩曙亮的移动开发专栏

    【Android 进程保活】应用进程拉活 ( 账户同步拉活 | 账号添加 | 源码资源 )

    --- 在上一篇博客 【Android 进程保活】应用进程拉活 ( 账户同步拉活 | 账号服务注册 | 源码资源 ) 介绍了应用账号服务注册 ; 本博客中进行账号添加 ; 账号添加时 , 首先要获取 AccountManager , 通过如下代码获取 : (AccountManager) context.getSystemService(Context.ACCOUNT_SERVICE) 查询应用的账户类型中 , 是否有该账户 , 调用 accountManager.getAccounts() 方法获取指定账户类型的账户 , // 需要使用 android.permission.GET_ACCOUNTS 权限 Account[] accounts = accountManager.getAccounts(); 这里的账户类型在 account-authenticator 标签中的 android accountManager = (AccountManager) context.getSystemService(Context.ACCOUNT_SERVICE); // 需要使用

    1.4K30编辑于 2023-03-29
  • 来自专栏深入理解Android

    Android进程保活全攻略(上)

    accountManager = (AccountManager) context.getSystemService(Context.ACCOUNT_SERVICE); accountManager.addAccountExplicitly this.context = context; accountManager = AccountManager.get(context); } , response); bundle.putParcelable(AccountManager.KEY_INTENT, intent); return (AccountManager.KEY_AUTHTOKEN, authToken); return bundle; } 使用   - 申请Token主要是通过 [AccountManager.getAuthToken]系列方法   - 添加账号则通过 [AccountManager.addAccount]   

    1.8K50编辑于 2022-06-22
  • 来自专栏云原生布道专栏

    【Android开发高级系列】进程保活专题

    accountManager = (AccountManager)context.getSystemService(Context.ACCOUNT_SERVICE); accountManager.addAccountExplicitly accountManager;         public XXAuthenticator(Contextcontext) {             super(context);             this.context = context;             accountManager = AccountManager.get(context);         }         @ (AccountManager.KEY_AUTHTOKEN, authToken);                 return bundle;             }             / 使用     • 申请Token主要是通过 [AccountManager.getAuthToken]系列方法     • 添加账号则通过[AccountManager.addAccount]    

    1.6K30编辑于 2023-10-16
  • 来自专栏信数据得永生

    安卓应用安全指南 5.3.3 将内部账户添加到账户管理器 高级话题

    Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0 5.3.3.1 账户管理和权限的使用 要使用AccountManager 此外,由于AccountManager获得的数据包含敏感信息,因此需要小心处理,来减少泄漏或未授权使用的风险。 通过显示 认证令牌许可证屏幕(GrantCredentialsPermissionActivity),AccountManager验证用户是否授予认证令牌的使用权。 但是 Android 4.0.x 的 Android 框架中存在一个错误,只要AccountManager打开此屏幕,就会发生异常并且应用被强制关闭 。 (图5.3-3)。

    1K10编辑于 2022-12-01
  • 来自专栏写代码和思考

    Android开发(39) 账户管理器概述

    AccountManager可以为应用程序生成认证标记(auth token),那么应用程序不在需要去直接处理密码。 一些AccountManager方法可能需要与用户交互,提示用户认证信息,呈现可选项,或者询问用户去添加账户。 让AccountManager直接启动接口,调用者必须提供当前 前端的Activity的Context. 许多AccountManager方法以 AccountManagerCallback 和 Handler作为参数。这些方法立即返回并且异步启动。 AccountManagerFuture概述 一个AccountManagerFuture 表现了 异步的AccountManager调用的结果。

    1.7K00发布于 2020-03-16
  • 来自专栏小怪聊职场

    APP接口升级设计策略API版本管理规范版本控制模式API版本升级方案约定和案例使用场景

    userId = tokenUtil.getUserIdByLoginToken(RequestHeaderContext.getInstance().getToken()); return accountManager.getUserGeneralInfo account/user") public class AccountControllerV2 extends BaseController { @Autowired private AccountManager accountManager; /** * 总资产和保证金率的List数据 * * @return */ @Authorization userId = tokenUtil.getUserIdByLoginToken(RequestHeaderContext.getInstance().getToken()); return accountManager.getUserGeneralInfo

    5.2K40发布于 2018-12-06
  • 来自专栏Alice

    从网络上下载省份城市名称并存入文件然后进行读取省份城市

    content"]; if (provinces.count > 0) { //重要代码 [[AccountManager shareManager] cacheCitiesInfomation:provinces]; _locationArray = [[AccountManager

    1.3K50发布于 2018-02-01
  • 来自专栏比原链

    Bytom侧链Vapor源码浅析-节点出块过程

    criticalTimeNum/criticalTimeDenom) * time.Millisecond block, err := proposal.NewBlockTemplate(b.chain, b.accountManager proposal.NewBlockTemplate vapor/proposal/proposal.go func NewBlockTemplate(chain *protocol.Chain, accountManager warnDuration, criticalDuration time.Duration) (*types.Block, error) { builder := newBlockBuilder(chain, accountManager warnDuration, criticalDuration) return builder.build() } func newBlockBuilder(chain *protocol.Chain, accountManager : accountManager, block: block, txStatus: bc.NewTransactionStatus(), utxoView

    55720发布于 2020-08-10
  • 来自专栏明明如月的技术专栏

    springmvc 在方法上使用 @ModelAttribute 注解

    myAccount")来指定名称 @ModelAttribute public Account addAccount(@RequestParam String number) { return accountManager.findAccount ModelAttribute public void populateModel(@RequestParam String number, Model model) { model.addAttribute(accountManager.findAccount

    1.1K20发布于 2021-08-27
  • 来自专栏韩曙亮的移动开发专栏

    【Android 进程保活】应用进程拉活 ( 账户同步拉活 | 账户同步 | 源码资源 )

    kim.hsl.keep_progress_alive.account_service; import android.accounts.Account; import android.accounts.AccountManager * 添加账户 * @param context */ public static void addAccount (Context context){ AccountManager accountManager = (AccountManager) context.getSystemService(Context.ACCOUNT_SERVICE); // 需要使用 android.permission.GET_ACCOUNTS 权限 Account[] accounts = accountManager.getAccounts(); Account account = new Account("kim.hsl", ACCOUNT_TYPE); // 添加一个新账户 accountManager.addAccountExplicitly

    1.6K30编辑于 2023-03-29
  • 来自专栏醒者呆

    【精解】EOS TPS 多维实测

    return 0; } // 清空其他账户 AccountManager::instance().removeAll(); for (int i = 0; i func(newAccountName, res); } return AccountManager::instance().count() - 1; // 除了super account以外的集合中的账户个数 } 查看一下AccountManager的源码: class AccountManager { public: AccountManager (); static AccountManager& instance(); void addAccounts(const QString& name, const 的实例也是个static的单例 AccountManager &AccountManager::instance() { static AccountManager manager; return

    2.3K40发布于 2018-07-30
  • 来自专栏圆方圆学院精选

    【刘文彬】【精解】EOS TPS 多维实测

    return 0; } // 清空其他账户 AccountManager::instance().removeAll(); for (int i = 0; i func(newAccountName, res); } return AccountManager::instance().count() - 1; // 除了super account以外的集合中的账户个数 } 查看一下AccountManager的源码: class AccountManager { public: AccountManager (); static AccountManager& instance(); void addAccounts(const QString& name, const 的实例也是个static的单例 AccountManager &AccountManager::instance() { static AccountManager manager; return

    1.1K20发布于 2018-12-11
  • 来自专栏比原链

    剥开比原看代码14:比原的挖矿流程是什么样的?

    我们先看NewCPUMiner对应的代码: mining/cpuminer/cpuminer.go#L282-L293 func NewCPUMiner(c *protocol.Chain, accountManager , newBlockCh chan *bc.Hash) *CPUMiner { return &CPUMiner{ chain: c, accountManager : accountManager, txPool: txPool, numWorkers: defaultNumWorkers, cpuminer.go#L29-L45 type CPUMiner struct { sync.Mutex chain *protocol.Chain accountManager block, err := mining.NewBlockTemplate(m.chain, m.txPool, m.accountManager) // ... //

    61820发布于 2018-09-20
  • 来自专栏全栈程序员必看

    微信模拟地理位置_伪装微信地理位置

    1.允许应用程序打开系统窗口,显示其他应用程序 2.允许应用程序访问GMail账户列表 3.允许应用程序请求从AccountManager验证 4.允许应用程序管理AccountManager中的账户列表

    1.5K10编辑于 2022-07-01
  • 来自专栏比原链

    Bytom侧链Vapor源码浅析-节点出块过程

    criticalTimeNum/criticalTimeDenom) * time.Millisecond block, err := proposal.NewBlockTemplate(b.chain, b.accountManager proposal.NewBlockTemplate vapor/proposal/proposal.go func NewBlockTemplate(chain *protocol.Chain, accountManager warnDuration, criticalDuration time.Duration) (*types.Block, error) { builder := newBlockBuilder(chain, accountManager warnDuration, criticalDuration) return builder.build() } func newBlockBuilder(chain *protocol.Chain, accountManager : accountManager, block: block, txStatus: bc.NewTransactionStatus(), utxoView

    75785发布于 2020-08-07
领券