【问题标题】:Error in getting all contacts获取所有联系人时出错
【发布时间】:2015-08-10 11:20:48
【问题描述】:

我在 basic4android 工作,我想运行一个包含 JavaObject 的 java 代码。

我想获取所有联系人。我的java代码是:

    #if java
import android.content.*;
import android.database.Cursor;
import android.provider.ContactsContract;

public String getall()
{
String res="";
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null);
while (phones.moveToNext())
{
  String name=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
  String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
  res = res + name + " , " + phoneNumber + "\n";

}
phones.close();
        return res;

}
#end if

应用程序运行但出现错误:java.lang.reflect.invocationtargetexception

请帮助我。谢谢。

【问题讨论】:

  • 您是否授予您的应用读取联系人的权限?
  • tnx 我的朋友,我添加了 AddManifestText() 效果很好。
  • 但现在我的一些电话号码从左到右显示,其中一些从右到左显示,他们无法阅读。即数字 30008127 显示:27-081-300
  • 如果一个号码没有破折号,它显示正确,但如果我的号码在 300-081-27 等联系人中用破折号保存,它将显示为错误:27-081-300。我该如何解决这个???
  • 我应该更了解您如何在应用中显示或存储联系人......但为了符合 SO 规则,为此您应该提出一个新问题

标签: java android basic4android


【解决方案1】:

添加

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

到你的 AndroidManifest.xml 文件。

【讨论】:

  • 是的,tnx,我添加了这个。但现在我的问题是我的一些电话号码没有按正确的顺序显示!
  • 你说的顺序不对是什么意思?抱歉迟到了。
猜你喜欢
  • 2015-06-16
  • 2012-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多