0
protected String doInBackground(View... params) {
    mView = params[0];
    Account[] accounts = com.xxx.xxx.app.AccountManager
            .get(mView.getContext()).getAccounts();
    if (accounts.length > 0) {
        return HttpUtils.getVPNConf(accounts[0].name);
    } else {
        Log.e(TAG, "get vpnconf failed");
    }
    return null;
}

在 Android 4.2 模拟器中,这里是一个代码片段,accounts.length == 1但无论是 DEBUG 还是 nonDEBUG,func 总是返回 null 我是一个 java 新手,有人可以为我解释一下吗?

4

1 回答 1

0

可能有三点(可能更多)可能导致返回,

  1. 检查您的帐户[0].name
  2. 检查 HttpUtils.getVPNConf 的功能
  3. 仔细检查 Account[] 的长度

另外,您是否在清单中添加了获取帐户信息的权限?

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

仔细检查应该可以解决你的问题。

于 2013-10-30T04:14:39.180 回答