如何在Android中获取联系人计数和媒体卡数量?

时间:2011-08-07 10:35:17

标签: java android android-ndk android-manifest

有谁知道如何通过程序获取Android手机的联系人数?我真的需要那个......所以它会像这样干杯:

contact count : 175 contacs
media card data : music >> 6 data | image >> 7 data ect.

我想通过程序为我的Android手机创建报告,现在我只能在手机中获取短信的数量..代码是这样的:

package com.application.smsandroid;

import android.app.Activity;
import android.os.Bundle;
import android.database.Cursor;
import android.net.Uri;
import android.widget.TextView;
import android.widget.Toast;

public class smsandroid extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        TextView view = new TextView(this);
        Uri uriSMSURI = Uri.parse("content://sms/inbox");
        Cursor cur = getContentResolver().query(uriSMSURI, null, null, null,null);
        String sms = "";
        int jumlah=0;
        while (cur.moveToNext()) {
            sms += "From :" + cur.getString(2) + " : " + cur.getString(11)+"\n";
            jumlah=jumlah+1;
        }
        //view.setText(sms);
        setContentView(view);


        Toast.makeText(this,"SMS Count : " + Integer.toString(jumlah), 1).show();

    }

}

请帮我解决我的问题..提前谢谢..

1 个答案:

答案 0 :(得分:2)

要获取设备上的联系人数量,请先确保您已在Android清单中设置此权限。

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

然后您可以使用它来检索联系人数量:

ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
int numberOfContacts = cur.getCount();
Toast.makeText(this, String.valueOf(numberOfContacts), Toast.LENGTH_SHORT).show();

如果您想了解有关检索联系信息的详情,可以查看here