تطبيق إنشاء نقاط اهتمام

يوضِّح هذا الدليل بالتفصيل الميزات المختلفة لمكتبة تطبيقات السيارات. التي يمكنك استخدامها لتنفيذ وظائف نقطة الاهتمام التطبيق.

يُرجى تقديم بيان عن إتاحة الفئة في البيان.

يجب أن يفصح تطبيقك عن androidx.car.app.category.POI. فئة تطبيقات السيارات في فلتر الأهداف في CarAppService

يوضّح المثال التالي كيفية الإشارة إلى فئة التطبيق:

<application>
    ...
   <service
       ...
        android:name=".MyCarAppService"
        android:exported="true">
      <intent-filter>
        <action android:name="androidx.car.app.CarAppService" />
        <category android:name="androidx.car.app.category.POI"/>
      </intent-filter>
    </service>
    ...
<application>

الوصول إلى قوالب الخرائط

يمكن لتطبيقات نقاط الاهتمام الوصول إلى PlaceListMapTemplate. وMapWithContentTemplate

تم تصميم PlaceListMapTemplate خصيصًا لعرض قائمة نقاط الاهتمام إلى جانب خريطة يعرضها المضيف.

يمكن استخدام MapWithContentTemplate لعرض القوائم والأنواع الأخرى من المحتوى بجانب خريطة يعرضها تطبيقك. عرض رسم الخرائط للحصول على مزيد من التفاصيل حول استخدام هذا القالب.

للوصول إلى هذه النماذج، يجب أن يفصح تطبيقك عن إذن "androidx.car.app.MAP_TEMPLATES" في ملف AndroidManifest.xml:

<manifest ...>
  ...
  <uses-permission android:name="androidx.car.app.MAP_TEMPLATES"/>
  ...
</manifest>

إعادة تحميل محتوى PlaceListMapTemplate

يمكنك السماح للسائقين بإعادة تحميل المحتوى بنقرة زر واحدة أثناء التصفّح. قوائم الأماكن التي تم إنشاؤها باستخدام PlaceListMapTemplate نفِّذ OnContentRefreshListener onContentRefreshRequested الواجهة وطريقة استخدام PlaceListMapTemplate.Builder.setOnContentRefreshListener لضبط المستمع على القالب لتفعيل تحديث القائمة.

يوضّح المقتطف التالي كيفية ضبط المستمع على النموذج:

Kotlin

PlaceListMapTemplate.Builder()
    ...
    .setOnContentRefreshListener {
        // Execute any desired logic
        ...
        // Then call invalidate() so onGetTemplate() is called again
        invalidate()
    }
    .build()

Java

new PlaceListMapTemplate.Builder()
        ...
        .setOnContentRefreshListener(() -> {
            // Execute any desired logic
            ...
            // Then call invalidate() so onGetTemplate() is called again
            invalidate();
        })
        .build();

ولا يظهر زر التحديث إلا في عنوان PlaceListMapTemplate إذا كان للمستمِع قيمة.

عندما ينقر المستخدم على زر إعادة التحميل، يتم تغيير onContentRefreshRequested. طريقة تنفيذ OnContentRefreshListener. ضمن onContentRefreshRequested، يمكنك الاتصال Screen.invalidate . بعد ذلك، يعاود المضيف الاتصال بتطبيقك. Screen.onGetTemplate لاسترداد القالب بالمحتوى الذي تم تحديثه. راجع تحديث لمحتويات النموذج للحصول على مزيد من المعلومات حول وتحديث النماذج. ما دام النموذج التالي الذي تم عرضه من خلال onGetTemplate من النوع نفسه، فسيتم احتسابه كتحديث ولا يتم احتسابه ضمن حصة النموذج.

الدمج مع "مساعد Google" باستخدام خدمة "مهامّ في التطبيقات"

تفعيل الصوت لتطبيق نقاط الاهتمام باستخدام "مساعد Google" للسماح للمستخدمين بالبحث عن نقاط الاهتمام من خلال توجيه طلبات مثل: "Ok Google، أريد العثور على محطات الشحن القريبة على ExampleApp". للحصول على تعليمات تفصيلية، يُرجى الاطّلاع على مهامّ في التطبيقات للسيارات.