1

我正在编写一个 android 应用程序,作为应用程序的一部分,我希望用户能够查看、选择和修改用户联系人。出于可用性原因(从用户方面),我的主要活动扩展了 TabActivity。因此,在一个选项卡中,我想显示用户联系人,我已经使用此代码完成了此操作:mTabHost.addTab(mTabHost.newTabSpec("tab_test2").setIndicator("Contacts").setContent(new Intent(Intent.ACTION_PICK, People.CONTENT_URI))); 使用默认的电话联系人活动。我的 android 清单是:`

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

<application android:icon="@drawable/icon" android:theme="@android:style/Theme.NoTitleBar">

    <activity android:name=".WaveCally"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity android:name=".streamer"
              android:label="@string/stream">
    </activity>



</application>
<uses-sdk android:minSdkVersion="4" />

` 但我的日志中不断出现安全异常并且活动崩溃。有任何想法吗?另外正如我提到的,我想修改联系人(主要是添加一些额外的字段),为此我必须获取 contantprovider 并在每个联系人中添加额外的字段?如果我从上述活动中选择一个联系人,这些额外的字段是否可用?

4

1 回答 1

2

您需要在应用程序清单中声明您的应用程序将访问联系人。( android.permission.READ_CONTACTS)

这是你需要做的:

http://developer.android.com/guide/topics/manifest/uses-permission-element.html

基本上,在您的应用清单中添加以下行(在打开清单标记之后):

<uses-permission android:name="android.permission.READ_CONTACTS" />
于 2009-12-23T15:24:29.650 回答