سؤال

أنا أكتب تطبيق شبكات اجتماعية يحتوي على وظائف متزامنة جهات الاتصال. لدي رمز عمل (من مثال وجدته هنا) التي تدرج جهات الاتصال على v2.x في محول المزامنة.

ومع ذلك ، فإن برنامج Motorola Blur لا يتعرف على جهات اتصال 2.x (أنا أستخدم بناء 2.2 Moto على Droid X). يستخدم Blur جهات الاتصال 1.x API ، لكنني أواجه مشكلة في العثور على/فهم أمثلة على كيفية استخدامه. هذه الصفحة يوضح كيفية الاستعلام بالاسم ، لكنني أريد أن أضيف و B) الاستعلام عن طريق حساب مخصص (أو محتمل).

يقوم رمز V2 الذي أستخدمه بإنشاء جهة اتصال RAW جديدة ، ويقوم بإنشاء سجل بيانات "StructuredName" ، ثم سجل بيانات لنوع MIME المخصص.

كيف أفعل ما يعادلها في 1.X API (المستوى 3)؟ أعتقد أن هذا هو ما هو فئة الاتصالات.

هل كانت مفيدة؟

المحلول

تتعلق تعديلات Motorola Blur على جهات الاتصال بشكل أكبر بكيفية إدارة الحسابات على الجهاز وأقل مع تغييرات على مزود المحتوى. المشكلة الحقيقية عند العمل مع جهاز Motorola Blur هي أنك تحتاج إلى تعيين ملف ACCOUNT_NAME و ACCOUNT_TYPE إلى قيمة تلعب بشكل جيد مع الجهاز.

Motorola ليس هو الجهاز الوحيد الذي يمثل هذا مشكلة كما في عملي ، لقد وجدت أجهزة أخرى لا تلعب تطبيقات جهات الاتصال الخاصة بها بشكل جيد مع السجلات التي يتم إضافتها إلى الحسابات المخصصة على الجهاز.

أثناء الإعداد ، سيتعين عليك تحديد نوع الجهاز الذي تقوم بتشغيله ثم تحديد الحساب الذي ستستخدمه لتخزين جهات الاتصال الخاصة بك. لقد وجدت استثناءات لجهاز Samsung Galaxy و HTC Sense وأجهزة Motoblur التي لا يتيح لك استخدام حساب الاتصال المخصص العمل مع جهات الاتصال الخاصة بك في تطبيق الاتصال (على سبيل المثال ، يمكنك إضافتها ، ولكن لا يتم تحريرها أو هي غير قادر على إدراج سجلات جديدة في حسابك).

لا يمكنني مشاركة التعليمات البرمجية لأنه ينتمي إلى عملي ، لكن يمكنني أن أخبرك أنه إذا كنت تستخدم الحساب التالي لجهات الاتصال الخاصة بك على أجهزة Motoblur التي ستعمل عليها. تحتوي أجهزة Motorola على Verizon على حساب مساعد للنسخ الاحتياطي يعمل بشكل رائع وغيرها من الحكمة ، فأنا أستخدم حساب الضباب الافتراضي الذي يبدو أنه يعمل بشكل جيد.

ابحث عن حساب على الجهاز مع النوع com.motorola.android.buacontactadapterواسم "الهاتف" واستخدم ذلك. إذا لم يكن ذلك موجودًا ، فابحث عن حساب من النوع com.motorola.blur.service.bsutils.MOTHER_USER_CREDS_TYPE واستخدم ذلك (بكل ما هو اسمه) وسوف يتم تعيينه جميعًا على أجهزة موتورولا.

إذا قمت بمشاركة بعض التعليمات البرمجية الخاصة بك أو رابط إلى المثال الذي أشرت إليه ، سأكون سعيدًا بالغطس أعمق.

نصائح أخرى

لمعالجة نهاية سؤالك:

يتم دعم هذه البنية التحتية فقط لهيكل جهات الاتصال 2.x ، وهذا هو عندما يقدمونها.

قد تعمل تطبيقات الاتصالات OEM على 1.x الأجهزة أو لا تعمل بشكل مشابه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top