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 | |||||||||||
SurfaceHolder | |||||||||||
منطقي | |||||||||||
فراغ |
navigate()
|
||||||||||
فراغ | |||||||||||
LiveCard | |||||||||||
LiveCard |
setDirectRenderingEnabled(تفعيل منطقي)
|
||||||||||
LiveCard |
setRenderer(عارض GlRenderer)
|
||||||||||
LiveCard |
setViews(طرق عرض RemoteViews)
|
||||||||||
LiveCard |
setVoiceActionEnabled(تفعيل منطقي)
|
||||||||||
فراغ |
الطرق المكتسبة | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
الثوابت
الشركات المصنّعة العامة
علنية LiveCard (سياق السياق، علامة السلسلة)
ينشئ بطاقة مباشرة باستخدام العلامة المحددة.
ملاحظة: لا تظهر البطاقة إلى أن يتم نشرها بشكل صريح.
المعلمات
سياق | سياق التطبيق |
---|---|
علامة | علامة غير فارغة للبطاقة الهدف من ذلك هو تصحيح الأخطاء |
الطرق العامة
علنية LiveCard إرفاق (خدمة الخدمة)
يُرجى إرفاق خلفية Service
حتى يتم عرض هذه البطاقة
تم نشرها، سيتم ضبط الخدمة المحدّدة للعمل في المقدّمة.
ستتم إزالة الخدمة تلقائيًا من المقدّمة في حال تنفيذ هذا الإجراء. تم إلغاء نشر البطاقة المباشرة.
المعلمات
الخدمة | سيتم الضبط على التشغيل في الكلمات الرئيسية |
---|
المرتجعات
- هذا الكائن لسلسلة المكالمات
علنية SurfaceHolder getSurfaceHolder ()
عند تفعيل العرض المباشر، يتم منح إذن الوصول إلى Surface
التي تريد الرسم عليها.
يُرجى العِلم أنّه يجب استخدام SurfaceHolder
المعروضة كوسيلة للوصول إلى
مساحة عرض مُدارة وهناك طرق لتغيير شكل السطح ونوعه ليست عمليات قابلة للتحسين.
يُرجى العلم أيضًا أنّ عمليات الاستدعاء لهذا العنصر لا تتوفّر في سلسلة واجهة المستخدم.
راجِع أيضًا
علنية منطقية isPublished ()
تعرض true
إذا كانت البطاقة منشورة حاليًا.
علنية فراغ التنقّل ()
إرسال المستخدم إلى هذه البطاقة في المخطط الزمني.
الرميات
IllegalStateException | إذا لم يتم نشر البطاقة |
---|
علنية فراغ نشر (وضع LiveCard.PublishMode)
يؤدي هذا الإجراء إلى نشر هذه البطاقة في المخطط الزمني.
لن يتم عرض البطاقة إلّا في حال توفّر إجراء وتفعيل العرض المباشر أو أدوات العرض عن بُعد.
المعلمات
الوضع | كيفية عرض البطاقة للمستخدم |
---|
علنية LiveCard setAction (PendingIntent intent)
يغيّر الإجراء الذي تم اتخاذه عند اختيار البطاقة.
المعلمات
intent | سيتم تنشيطها عند اختيار البطاقة |
---|
المرتجعات
- هذا الكائن لسلسلة المكالمات
علنية LiveCard setDirectRenderingEnabled (تفعيل منطقي)
لتفعيل العرض المباشر
في هذا الوضع، يجب عرض محتوى البطاقة مباشرةً في "Surface
".
تجدر الإشارة إلى أنّه لا يمكن استدعاء هذه الطريقة إلا عندما لا يتم نشر البطاقة وسيتم وطرح استثناء.
المعلمات
تفعيل | ما إذا كان يجب تفعيل العرض المباشر |
---|
المرتجعات
- هذا الكائن لسلسلة المكالمات
راجِع أيضًا
علنية LiveCard setRenderer (عارض GlRenderer)
إضافة عارض مستند إلى OpenGL.
ويجب استخدام العارض للرسم على سطح مطلوب (تلقائيًا) لتنفيذ مهام العرض.
المرتجعات
- هذا الكائن لسلسلة المكالمات
علنية LiveCard setViews (RemoteViews )
يؤدي هذا الإجراء إلى تغيير "RemoteViews
" المستخدَم لعرض واجهة المستخدم الخاصة بهذه البطاقة.
كما يجب استدعاء هذه الطريقة بعد إجراء أي تغييرات مباشرة على طرق العرض عن بعد بطاقة منشورة، أو لن تنعكس تلك التغييرات على المخطط الزمني.
وليس لهذه الطريقة أي تأثير في حال تفعيل العرض المباشر.
المعلمات
مشاهدة | واجهة مستخدم البطاقة |
---|
المرتجعات
- هذا الكائن لسلسلة المكالمات
راجِع أيضًا
علنية LiveCard setVoiceActionEnabled (تفعيل منطقي)
تفعيل إجراء صوتي عند عرض البطاقة على المخطط الزمني.
عند ضبط الإعدادات، ينتظر البطاقة سماع عبارة "OK Glass" عند عرضها على المخطط الزمني،
عند قول عبارة الحراسة هذه، تنشيط الغرض الذي تم تحديده بواسطة
طريقة setAction(PendingIntent)
. إذا بدأ النية
نشاط ينفذ قوائم صوتية سياقية، فإن النشاط سيقوم تلقائيًا
افتح في عناصر القائمة الأولى (أي كما لو كان يتم قول "Ok Glass" داخل النشاط
نفسها). تتيح هذه الميزة تنفيذ قوائم صوتية سياقية على البطاقات المباشرة.
المعلمات
تفعيل | ما إذا كان يجب تفعيل الإجراء الصوتي |
---|
المرتجعات
- هذا الكائن لسلسلة المكالمات
راجِع أيضًا
علنية فراغ إلغاء النشر ()
يؤدي هذا الإجراء إلى إلغاء نشر هذه البطاقة من المخطط الزمني.