1

私はアンドロイドアプリを作成しています。アプリの一部として、ユーザーがユーザーの連絡先を表示、選択、および変更できるようにしたいと考えています。私の主なアクティビティは、使いやすさの理由から (ユーザー側から) 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 に答える