代码之家  ›  专栏  ›  技术社区  ›  maxsap

Android SecurityException和用户联系人

  •  1
  • maxsap  · 技术社区  · 16 年前

    我正在编写一个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,并且在每个联系人中添加额外的字段?如果我从上述活动中选择联系人,这些额外字段是否可用?

    1 回复  |  直到 8 年前
        1
  •  2
  •   rui    16 年前

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

    这就是你需要做的:

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

    基本上,在应用程序清单中添加以下行(在打开清单标签之后):

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