Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android联系人将ContactsSource用于较低的api级别,并将ContactsAccountType作为contacts.xml中的默认值_Java_Android_Xml_Contacts_Android Contacts - Fatal编程技术网

Java Android联系人将ContactsSource用于较低的api级别,并将ContactsAccountType作为contacts.xml中的默认值

Java Android联系人将ContactsSource用于较低的api级别,并将ContactsAccountType作为contacts.xml中的默认值,java,android,xml,contacts,android-contacts,Java,Android,Xml,Contacts,Android Contacts,我在android 2.1的contacts应用程序中遇到了一个小问题,由于contacts xml定义,我的应用程序在显示联系人时会导致contacts应用程序崩溃 <ContactsAccountType xmlns:android="http://schemas.android.com/apk/res/android" viewContactNotifyService=".ContactViewedService"> ... </ContactsAc

我在android 2.1的contacts应用程序中遇到了一个小问题,由于contacts xml定义,我的应用程序在显示联系人时会导致contacts应用程序崩溃

<ContactsAccountType
    xmlns:android="http://schemas.android.com/apk/res/android"
    viewContactNotifyService=".ContactViewedService">
   ...
</ContactsAccountType>
我设法跟踪并发现我需要在contacts.xml文件中将ContactsAccountType切换为ContactsSource,该文件已被弃用,因此我的问题是:

有没有一种方法可以让更低api版本的contactsSource作为回退,让ContactsAccountType作为xml描述中的默认值?

当然可以

您可以使用默认的xml文件夹中的ContactsSource定义旧xml

并使用xml-v11文件夹中的ContactsAccountType创建第二个xml


我的手机里有姜饼,甚至我也看到了同样的错误。当我尝试添加新联系人时,LogViewer会告诉我“顶级元素必须是contactssource”错误,然后它崩溃。不知道如何修复而不返回出厂默认值。哇,我不知道api级别可以这样命名。谢谢
05-01 12:43:31.960: E/AndroidRuntime(1064): FATAL EXCEPTION: main
05-01 12:43:31.960: E/AndroidRuntime(1064): java.lang.IllegalStateException: Top level element must be ContactsSource
05-01 12:43:31.960: E/AndroidRuntime(1064):     at com.android.contacts.model.ExternalSource.inflate(ExternalSource.java:133)
05-01 12:43:31.960: E/AndroidRuntime(1064):     at com.android.contacts.model.ExternalSource.inflate(ExternalSource.java:104)
05-01 12:43:31.960: E/AndroidRuntime(1064):     at com.android.contacts.model.ContactsSource.ensureInflated(ContactsSource.java:98)
05-01 12:43:31.960: E/AndroidRuntime(1064):     at com.android.contacts.model.Sources.getInflatedSource(Sources.java:311)