在android中加载google plus中特定的可见人

2024-03-19

我已经成功实施了google plus

列出人员活动

public class ListPeopleActivity extends Activity implements
    PlusClient.ConnectionCallbacks, PlusClient.OnPeopleLoadedListener,
    PlusClient.OnConnectionFailedListener, DialogInterface.OnCancelListener {

private static final String TAG = "ListPeopleActivity";

private static final String STATE_RESOLVING_ERROR = "resolving_error";

private static final int DIALOG_GET_GOOGLE_PLAY_SERVICES = 1;

private static final int REQUEST_CODE_SIGN_IN = 1;
private static final int REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES = 2;

private ArrayAdapter mListAdapter;
private ListView mPersonListView;
private ArrayList<String> mListItems;
private PlusClient mPlusClient;
private boolean mResolvingError;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.person_list_activity);

    mPlusClient = new PlusClient.Builder(this, this, this)
            .setVisibleActivities(MomentUtil.VISIBLE_ACTIVITIES).build();

    mListItems = new ArrayList<String>();
    mListAdapter = new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_1, mListItems);
    mPersonListView = (ListView) findViewById(R.id.person_list);
    mResolvingError = savedInstanceState != null
            && savedInstanceState.getBoolean(STATE_RESOLVING_ERROR, false);

    int available = GooglePlayServicesUtil
            .isGooglePlayServicesAvailable(this);
    if (available != ConnectionResult.SUCCESS) {
        showDialog(DIALOG_GET_GOOGLE_PLAY_SERVICES);
    }
}

@Override
protected Dialog onCreateDialog(int id) {
    if (id != DIALOG_GET_GOOGLE_PLAY_SERVICES) {
        return super.onCreateDialog(id);
    }

    int available = GooglePlayServicesUtil
            .isGooglePlayServicesAvailable(this);
    if (available == ConnectionResult.SUCCESS) {
        return null;
    }
    if (GooglePlayServicesUtil.isUserRecoverableError(available)) {
        return GooglePlayServicesUtil.getErrorDialog(available, this,
                REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES, this);
    }
    return new AlertDialog.Builder(this)
            .setMessage(R.string.plus_generic_error).setCancelable(true)
            .setOnCancelListener(this).create();
}

@Override
protected void onStart() {
    super.onStart();
    mPlusClient.connect();
}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putBoolean(STATE_RESOLVING_ERROR, mResolvingError);
}

@Override
protected void onStop() {
    super.onStop();
    mPlusClient.disconnect();
}

@Override
public void onPeopleLoaded(ConnectionResult status,
        PersonBuffer personBuffer, String nextPageToken) {
    switch (status.getErrorCode()) {
    case ConnectionResult.SUCCESS:
        mListItems.clear();
        try {
            int count = personBuffer.getCount();
            Log.e("", "count : " + count);
            for (int i = 0; i < count; i++) {
                mListItems.add(personBuffer.get(i).getDisplayName());
                Log.e("", "" + personBuffer.get(i).getDisplayName() + " "
                        + personBuffer.get(i).getId() + " isPlusUser : "
                        + personBuffer.get(i).isPlusUser()
                        + " isVerified : "
                        + personBuffer.get(i).isVerified()
                        + " hasCircledByCount : "
                        + personBuffer.get(i).hasCircledByCount()
                        + " getObjectType : "
                        + personBuffer.get(i).getObjectType());
            }
        } finally {
            personBuffer.close();
        }

        mListAdapter.notifyDataSetChanged();
        break;

    case ConnectionResult.SIGN_IN_REQUIRED:
        mPlusClient.disconnect();
        mPlusClient.connect();
        break;

    default:
        Log.e(TAG, "Error when listing people: " + status);
        break;
    }
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    switch (requestCode) {
    case REQUEST_CODE_SIGN_IN:
        mResolvingError = false;
        handleResult(resultCode);
        break;
    case REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES:
        handleResult(resultCode);
        break;
    }
}

private void handleResult(int resultCode) {
    if (resultCode == RESULT_OK) {
        // onActivityResult is called after onStart (but onStart is not
        // guaranteed to be called while signing in), so we should make
        // sure we're not already connecting before we call connect again.
        if (!mPlusClient.isConnecting() && !mPlusClient.isConnected()) {
            mPlusClient.connect();
        }
    } else {
        Log.e(TAG, "Unable to sign the user in.");
        finish();
    }
}

@Override
public void onConnected(Bundle connectionHint) {
    mPersonListView.setAdapter(mListAdapter);
    // mPlusClient.loadVisiblePeople(this, null);
    mPlusClient.loadPeople(this, "103193341800315457743");

}

@Override
public void onDisconnected() {
    mPersonListView.setAdapter(null);
    mPlusClient.connect();
}

@Override
public void onConnectionFailed(ConnectionResult result) {
    if (mResolvingError) {
        return;
    }

    mPersonListView.setAdapter(null);
    try {
        result.startResolutionForResult(this, REQUEST_CODE_SIGN_IN);
        mResolvingError = true;
    } catch (IntentSender.SendIntentException e) {
        // Get another pending intent to run.
        mPlusClient.connect();
    }
}

@Override
public void onCancel(DialogInterface dialogInterface) {
    Log.e(TAG, "Unable to sign the user in.");
    finish();
}

在上面的代码中mPlusClient.loadVisiblePeople(this, null);加载所有可见(圈内)人员..我想加载我圈子中的一个特定人员。和mPlusClient.loadPeople(this, "103193341800315457743");这可以加载特定的人,但我怎么知道它是否在我的圈子中......因为它每次都会返回,无论它是否在我的圈子中。

其实我想知道特定的人是否在我的圈子里。


try, mPlusClient.loadPerson(这, "103193341800315457743");

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在android中加载google plus中特定的可见人 的相关文章

  • RecyclerView 未显示列表中的所有项目

    我在用RecyclerView在我的应用程序中 每次我打开屏幕时 我只能看到一项 但当我调试时 它每次都会出现onBindViewHolder method 这是我的适配器 Override public ViewHolder onCrea
  • Android 布局不需要的填充

    所以我有这个布局文件 如下 正如您所看到的 没有填充或边距 dimen xml 文件也没有任何填充 边距 最后 我根本不以编程方式更改布局
  • PHP服务器端IAB验证openssl_verify总是返回0

    我使用以下函数 服务器端 php 来验证 IAB v3 事务 我从 Android 应用程序传递过来 Override protected void onActivityResult int requestCode int resultCo
  • Android Ble GATT_ERROR 133 经常使用三星设备

    我正在研究 BLE 应用程序 我已经使用 Nexus Moto Samsung LG 等不同设备进行了测试 我仅在三星设备中收到 GATT 错误 133 三星 A5 2016 尝试连接 10 次 但只连接了 2 或 3 次 请帮助我 Non
  • Android:如何从输入流创建 9patch 图像?

    我使用下面的代码实例化 9patch 图像并将其设置为按钮的背景 下图显示了不理想的结果 InputStream MyClass class getResourceAsStream images btn default normal 9 p
  • NumberPicker 的格式化值在单击时消失

    我的 NumberPicker 在setDescendantFocusability FOCUS BLOCK DESCENDANTS 模式和setWrapSelectorWheel false 已关闭 我用一个简单的格式化程序格式化了我的
  • Android 从键盘读取

    我的登录屏幕根本没有文本字段 当用户使用 RFID 扫描仪扫描他的 id 令牌时 我会得到一个 8 个字符长的字符串 其原理与使用键盘相同 只是更快 我希望我的登录活动在用户扫描其令牌时而不是之前执行 有一个聪明的方法来实现这个吗 我不能有
  • Android-全屏视频视图

    我正在尝试使此 VideoView 以全屏模式显示 public class ViewVideo extends Activity private String filename private static final int INSER
  • 无法找到/下载 AppCompat-v7:23.1.1

    怎么了 我遇到了很多 找不到 appcompat v7 23 1 1 的问题 许多解决方案都不起作用 经过几个小时的思考和寻找答案 我遇到了一个奇怪的问题 I have gotAndroid 支持库 23 1 1 已安装 所有功能 exce
  • 有没有办法替代Android中的标准Log?

    有没有办法以某种方式拦截对 android 中标准 Log 的调用并执行其他操作 在桌面 Java 中 人们通常会得到一些记录器 因此有多种方法可以安装不同的日志处理程序 实现 但是 Android似乎对Log有静态调用 我找不到任何有关替
  • 错误:任务“:app:mergeDebugResources”执行失败。 > java.lang.ArrayIndexOutOfBoundsException(无错误消息)

    你们有人知道 Gradle 构建中的这个异常吗 Error Execution failed for task app mergeDebugResources gt java lang ArrayIndexOutOfBoundsExcept
  • 如何找到特定路线上两点之间的距离?

    我正在为我的大学开发一个 Android 应用程序 可以帮助学生跟踪大学巴士的当前位置 并为他们提供巴士到达他们的预计时间 截至目前 我获取了公交车的当前位置 通过公交车上的设备 和学生的位置 我陷入了必须找到两个 GPS 坐标之间的距离的
  • 取消通知

    我使用Onesignal推送通知 需要取消所有onPause和onResume的通知 NotificationManager notificationManager NotificationManager getApplicationCon
  • 从 Handler.obtainMessage() 获取什么参数

    我正在使用线程来执行一些 BT 任务 我正在尝试向 UI 线程发送消息 以便我可以基于我的 BT 线程执行 UI 工作 为此 我使用处理程序 但我不知道如何检索发送到处理程序的数据 要发送数据 我使用 handler obtainMessa
  • 如何在 Android 应用程序中使用多个 Graph API 获取 Facebook Notes 项目的评论?

    我想使用 Graph API 显示 Facebook 页面的注释项目以及这些评论和点赞 为此 我使用 Facebook SDK 中的 asyncFacebookRunner 步骤是这样的 调用 asyncFacebookRunner req
  • cordova插件条码扫描仪打不开扫描

    我的条形码扫描仪插件有问题 我不是天才 我不太了解如何编写网络应用程序 我使用phonegap和cordova 并且尝试制作一个网络应用程序 在单击链接后扫描条形码 我之前已经使用此命令行安装了该插件 cordova plugin add
  • Proguard - 找不到任何超级类

    我收到此错误 Unexpected error while performing partial evaluation Class org apache log4j chainsaw Main Method
  • 获取当前图片在图库中显示的位置

    在我的应用程序中 我有一个图片库 但我想检测当前显示图像的位置 例如 当我启动我的活动时 位置是 0 但是当我在图库中滚动时 我想获取当前显示图像的位置 我尝试过 OnFocusChanged OnItemClicked 但只有当我单击图库
  • Android:如何在布局中放置纯色矩形?

    我有一个可以很好地膨胀的relativelayout 我想在顶部添加一个跨越布局宽度的纯色矩形 我尝试将以下内容放入我的 xml 中
  • 在上下文操作模式下选择时,ListView 项目不会在视觉上“突出显示”

    我关注了 Android 官方网站创建上下文操作菜单的教程 http developer android com guide topics ui menus html CAB 使用下面的代码 当我长按我的 ListView 项目之一时 它确

随机推荐

  • Mongoid 在 ruby​​ 1.9.3 上失败

    所以我正在玩 mongo 的东西 创建了一个新的heroku应用程序 为其添加了一个mongolab选项 但是每个mongoid方法都失败了 我用谷歌搜索了一下 看起来这个问题在 1 9 3 之前的 ruby 中很常见 但我正在运行 1 9
  • 从文件夹中获取给定扩展名的第一个文件

    我需要获取具有以下内容的文件夹中的第一个文件 tar gz扩大 我想出了 FILE path to folder ls path to folder grep tar gz head 1 但我觉得它可以做得更简单 更优雅 有更好的解决方案吗
  • 在 D3.JS 中使用面积图启动过渡和动画

    我想让面积图在程序开始时从左到右 绘制 本身 我的图表中已经有一条线执行此操作 但是我无法使该线下方的区域正确设置动画 或者在页面首次启动时 绘制 自身 目前 这就是我所在地区的情况 var area d3 svg area x funct
  • 如何只为模态体放置滚动条?

    我有以下元素 div class modal div class modal dialog style max height 85 margin top 50px margin bottom 50px div class modal con
  • 新版本的 Minikube 不允许 Pod 使用自己的服务

    我有一个 Pod 偶尔需要通过自己的主机名来调用自己 我设置了一个部署 最终创建了 Pod 和一个服务 我可以使用集群中不同 Pod 的服务名称 但该 Pod 无法使用其主机名调用自身 这适用于 Minikube v0 17 1 和 Kub
  • 在实例变量中保存块

    我们如何声明一个全局 私有实例变量 来接受其中的块 我们是否需要综合它以及它对内存管理的影响是什么 我有一个从第三方方法收到的块 我想将其保存在实例变量中并在稍后阶段使用它 这是一个 无 ARC 示例 在后台完成一些工作后存储完成回调的块
  • 使用 INPUT 标签的 VALUE 属性(及其值)读取 HTML 表单的innerHTML

    我有一个html form与一些输入字段 而不是读取和发送值input字段由document ipForm userName value 我需要将整个 html 内容发送到 html 解析器并提取
  • StackPanel 逆序 - WPF

    我试图反转子项在 StackPanel 中出现的顺序 我希望能够将新的子项 在运行应用程序时 添加到列表的顶部而不是底部 我尝试过使用各种 XAML 代码 但没有任何效果 做到这一点最简单的方法是什么 Use stackPanel Chil
  • 在 Java 中声明 LinkedList

    当我们声明我们应该做的集合时 我总是学到 Interface ob new Class 如果我想使用例如 LinkedList 我会这样做List ob new LinkedList 但是我无法访问 LinkedList 中的所有方法 不是
  • 标准中关于指针比较的奇怪措辞

    6 5 8 6 http www open std org jtc1 sc22 wg14 www docs n1570 pdf 关于 gt 如果表达式 P 指向数组对象的一个 元素并且 表达式 Q 指向同一个数组对象的最后一个元素 指针表达
  • HTA 如何获取当前用户的用户名?

    我想获取当前用户的用户名 然后在我的应用程序名称中创建一个链接 该链接看起来像 http localhost id username I tried Dim objNetworkSet objNetwork CreateObject WSc
  • 如何使用 char 作为 switch-case 中的 case?

    如何在 switch case 中使用字符 我将收到用户输入的任何第一个字母 import javax swing public class SwitchCase public static void main String args St
  • 如果文本字段为空,则更改按钮元素的样式

    我想改变风格 postBtn if textfield是空的 就像 postBtn textfield value length 0 border color gray background color gray In html
  • 使用组件的 @ViewChild { read: ElementRef } 导致单元测试失败

    在我的组件中 我有一个如下所示的子组件
  • 关于您的项目所依赖的许可证的 Maven 报告[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个大型多模块项目 我想生成一份报告 显示该项目所依赖的所有内容的所有许可证 我查看了 tattl
  • 模拟正在测试的同一类中的私有方法

    我有一个名为的 Java 类 MyClass 我想用 JUnit 进行测试 公共方法 methodA 我想测试调用私有方法 methodB 在同一个类中确定要遵循哪个条件路径 我的目标是为不同路径编写 JUnit 测试methodA 还 m
  • 有没有什么方法可以安全地进行图像量化并且无需编组?

    我目前正在使用 Brendan Tompkins ImageQuantization dll http codebetter com blogs brendan tompkins archive 2007 06 14 gif image c
  • 哪些 CSS3 功能仍然需要供应商前缀?

    我记得最常见的需要前缀的功能是诸如flexbox border radius box shadow等等 但现在它们受到支持 随着越来越多的用户转向使用 Chrome 和 Firefox 等功能更强大的浏览器并放弃 IE 现在是否还有尚未完全
  • 从 VBA (MS Access) 解密 PGP 加密文件的最简单方法

    我需要编写代码从 FTP 位置获取 PGP 加密的文件并处理它们 这些文件将使用我的公钥进行加密 我还没有公钥 显然 我需要一个可以在 Microsoft Access 中使用的 PGP 库 您能推荐一款易于使用的吗 我正在寻找不需要大量
  • 在android中加载google plus中特定的可见人

    我已经成功实施了google plus 列出人员活动 public class ListPeopleActivity extends Activity implements PlusClient ConnectionCallbacks Pl