بطاقة مباشرة

تمّت الإضافة في المستوى XE12 من واجهة برمجة التطبيقات
حصة علنية

LiveCard

يتيح لك هذا الصف إنشاء بطاقات نشطة ونشرها على المخطط الزمني.

لمزيد من المعلومات حول كيفية إنشاء بطاقات مباشرة، يُرجى الاطّلاع على دليل المطوِّر حول البطاقات المباشرة.

فترة تشغيل البطاقة

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

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

عرض المحتوى على بطاقة مباشرة

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

تضخيم التنسيق باستخدام طرق العرض عن بُعد

إذا كان تطبيقك لا يتطلب سوى أدوات عادية وتحديثات غير متكررة (حوالي بضع ثوانٍ أو لفترة أطول بين عمليات إعادة التحميل)، ثم عليك إنشاء بطاقتك بمساعدة فئة RemoteViews. يتيح الكائن RemoteViews المخطط الزمني لـ Glass، والذي يتم تشغيله في عملية منفصلة عن رمز التطبيق الخاص بك، تضخيم التنسيق الذي قمت بإنشائه.

     LiveCard liveCard; // initialized elsewhere
     RemoteViews views = new RemoteViews(context.getPackageName(),
             R.layout.my_layout);
     liveCard.setViews(views);
 

تجدر الإشارة إلى أنّه بعد نشر بطاقة تستخدم RemoteViews، ستنطبق التغييرات التي تم إجراؤها على المشاهدات من قِبل لن يظهر طلب set* طرق في المخطط الزمني ما لم يتم الاتصال بشكل صريح setViews على البطاقة المباشرة مرة أخرى لفرض إجراء تحديث.

الرسم مباشرةً على سطح البطاقة المباشرة

إذا كان تطبيقك يتطلب تحديثات أكثر تكرارًا (عدة مرات في الثانية) أو عرض المزيد من رسومات أكثر تفصيلاً مما تدعمه التطبيقات المصغّرة القياسية، وتتيح العرض المباشر SurfaceHolder.Callback على سطح البطاقة

     LiveCard liveCard; // initialized elsewhere
     liveCard.setDirectRenderingEnabled(true);
     liveCard.getSurfaceHolder().addCallback(callback);
 

ويمكنك بعد ذلك الرسم مباشرةً على السطح داخل سلسلة محادثات في الخلفية أو استجابةً لطلبات بحث الأحداث (مثل إشعارات جهاز الاستشعار أو الموقع الجغرافي) يمكنك استخدام surfaceCreated و surfaceDestroyed طريقة لبدء منطق العرض وإيقافه عندما تكون البطاقة معروضة أو مخفيّة.

يُرجى العلم أنّه لا يتم استدعاء طرق معاودة الاتصال الخاصة بمالك سطح المكتب في سلسلة واجهة المستخدم الرئيسية.

التعامل مع اختيار البطاقات المنشورة

يجب أن توفّر البطاقة المباشرة إجراءً (PendingIntent لبدء نشاط، أو الخدمة أو تنفيذ بث) الذي سيتم تنفيذه عندما ينقر المستخدم لاختيار البطاقة. عادةً ستستخدم هذا الإجراء لبدء نشاط يعرض قائمة خيارات أو يتخذ المستخدم إلى جزء آخر من تطبيقك. على الأقل، يجب عليك تقديم خيار تتيح للمستخدم إزالة البطاقة المنشورة من المخطط الزمني.

     LiveCard liveCard; // initialized elsewhere
     Intent intent = new Intent(context, MyActivity.class);
     liveCard.setAction(PendingIntent.getActivity(context, 0, intent, 0));
 

لن يتم عرض البطاقات المنشورة التي لا تتضمّن إجراءً.

الفصول الدراسية المتداخلة
تعداد LiveCard.PublishMode تحدِّد هذه السياسة طريقة عرض البطاقة للمستخدم عند نشرها.
الثوابت
String EXTRA_FROM_LIVECARD_VOICE قيمة منطقية إضافية تشير إلى أنّه تم تفعيل Intent عن طريق الصوت من بطاقة بث مباشر.
الشركات المصنّعة العامة
LiveCard(سياق السياق، وعلامة سلسلة)
الطرق العامة
LiveCard
SurfaceHolder
منطقي
فراغ
فراغ
LiveCard
LiveCard
setDirectRenderingEnabled(تفعيل منطقي)
LiveCard
LiveCard
setViews(طرق عرض RemoteViews)
LiveCard
setVoiceActionEnabled(تفعيل منطقي)
فراغ
الطرق المكتسبة

الثوابت

تمّت الإضافة في المستوى XE21 من واجهة برمجة التطبيقات

علنية ثابتة النِّهَائِي سلسلة EXTRA_FROM_LIVECARD_VOICE

قيمة منطقية إضافية تشير إلى أنّه تم تفعيل Intent عن طريق الصوت من بطاقة بث مباشر.

القيمة الثابتة: "android.intent.extra.EXTRA_FROM_LIVECARD"

الشركات المصنّعة العامة

تمّت الإضافة في المستوى XE16 من واجهة برمجة التطبيقات

علنية LiveCard (سياق السياق، علامة السلسلة)

ينشئ بطاقة مباشرة باستخدام العلامة المحددة.

ملاحظة: لا تظهر البطاقة إلى أن يتم نشرها بشكل صريح.

المعلمات
سياق سياق التطبيق
علامة علامة غير فارغة للبطاقة الهدف من ذلك هو تصحيح الأخطاء

الطرق العامة

تمّت الإضافة في المستوى XE16 من واجهة برمجة التطبيقات

علنية LiveCard إرفاق (خدمة الخدمة)

يُرجى إرفاق خلفية Service حتى يتم عرض هذه البطاقة تم نشرها، سيتم ضبط الخدمة المحدّدة للعمل في المقدّمة.

ستتم إزالة الخدمة تلقائيًا من المقدّمة في حال تنفيذ هذا الإجراء. تم إلغاء نشر البطاقة المباشرة.

المعلمات
الخدمة سيتم الضبط على التشغيل في الكلمات الرئيسية
المرتجعات
  • هذا الكائن لسلسلة المكالمات
تمّت الإضافة في المستوى XE12 من واجهة برمجة التطبيقات

علنية SurfaceHolder getSurfaceHolder ()

عند تفعيل العرض المباشر، يتم منح إذن الوصول إلى Surface التي تريد الرسم عليها.

يُرجى العِلم أنّه يجب استخدام SurfaceHolder المعروضة كوسيلة للوصول إلى مساحة عرض مُدارة وهناك طرق لتغيير شكل السطح ونوعه ليست عمليات قابلة للتحسين.

يُرجى العلم أيضًا أنّ عمليات الاستدعاء لهذا العنصر لا تتوفّر في سلسلة واجهة المستخدم.

راجِع أيضًا
تمّت الإضافة في المستوى XE12 من واجهة برمجة التطبيقات

علنية منطقية isPublished ()

تعرض true إذا كانت البطاقة منشورة حاليًا.

تمّت الإضافة في المستوى XE16 من واجهة برمجة التطبيقات

علنية فراغ التنقّل ()

إرسال المستخدم إلى هذه البطاقة في المخطط الزمني.

الرميات
IllegalStateException إذا لم يتم نشر البطاقة
تمّت الإضافة في المستوى XE12 من واجهة برمجة التطبيقات

علنية فراغ نشر (وضع LiveCard.PublishMode)

يؤدي هذا الإجراء إلى نشر هذه البطاقة في المخطط الزمني.

لن يتم عرض البطاقة إلّا في حال توفّر إجراء وتفعيل العرض المباشر أو أدوات العرض عن بُعد.

المعلمات
الوضع كيفية عرض البطاقة للمستخدم
تمّت الإضافة في المستوى XE12 من واجهة برمجة التطبيقات

علنية LiveCard setAction (PendingIntent intent)

يغيّر الإجراء الذي تم اتخاذه عند اختيار البطاقة.

المعلمات
intent سيتم تنشيطها عند اختيار البطاقة
المرتجعات
  • هذا الكائن لسلسلة المكالمات
تمّت الإضافة في المستوى XE12 من واجهة برمجة التطبيقات

علنية LiveCard setDirectRenderingEnabled (تفعيل منطقي)

لتفعيل العرض المباشر

في هذا الوضع، يجب عرض محتوى البطاقة مباشرةً في "Surface".

تجدر الإشارة إلى أنّه لا يمكن استدعاء هذه الطريقة إلا عندما لا يتم نشر البطاقة وسيتم وطرح استثناء.

المعلمات
تفعيل ما إذا كان يجب تفعيل العرض المباشر
المرتجعات
  • هذا الكائن لسلسلة المكالمات
راجِع أيضًا
تمّت الإضافة في المستوى XE16 من واجهة برمجة التطبيقات

علنية LiveCard setRenderer (عارض GlRenderer)

إضافة عارض مستند إلى OpenGL.

ويجب استخدام العارض للرسم على سطح مطلوب (تلقائيًا) لتنفيذ مهام العرض.

المرتجعات
  • هذا الكائن لسلسلة المكالمات
تمّت الإضافة في المستوى XE12 من واجهة برمجة التطبيقات

علنية LiveCard setViews (RemoteViews )

يؤدي هذا الإجراء إلى تغيير "RemoteViews" المستخدَم لعرض واجهة المستخدم الخاصة بهذه البطاقة.

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

وليس لهذه الطريقة أي تأثير في حال تفعيل العرض المباشر.

المعلمات
مشاهدة واجهة مستخدم البطاقة
المرتجعات
  • هذا الكائن لسلسلة المكالمات
راجِع أيضًا
تمّت الإضافة في المستوى XE21 من واجهة برمجة التطبيقات

علنية LiveCard setVoiceActionEnabled (تفعيل منطقي)

تفعيل إجراء صوتي عند عرض البطاقة على المخطط الزمني.

عند ضبط الإعدادات، ينتظر البطاقة سماع عبارة "OK Glass" عند عرضها على المخطط الزمني، عند قول عبارة الحراسة هذه، تنشيط الغرض الذي تم تحديده بواسطة طريقة setAction(PendingIntent). إذا بدأ النية نشاط ينفذ قوائم صوتية سياقية، فإن النشاط سيقوم تلقائيًا افتح في عناصر القائمة الأولى (أي كما لو كان يتم قول "Ok Glass" داخل النشاط نفسها). تتيح هذه الميزة تنفيذ قوائم صوتية سياقية على البطاقات المباشرة.

المعلمات
تفعيل ما إذا كان يجب تفعيل الإجراء الصوتي
المرتجعات
  • هذا الكائن لسلسلة المكالمات
راجِع أيضًا
تمّت الإضافة في المستوى XE12 من واجهة برمجة التطبيقات

علنية فراغ إلغاء النشر ()

يؤدي هذا الإجراء إلى إلغاء نشر هذه البطاقة من المخطط الزمني.