سؤال

لقد كنت أعمل على استبدال تطبيق Home Stock Car قليلاً ، وأنا مهتم تمامًا بكيفية تجاوز زر الصفحة الرئيسية بحيث يتم إعادة تطبيقي إلى المقدمة عندما يتم شحن الهاتف. هذه هي الطريقة التي يعمل بها منزل السيارة ، لذلك يجب أن يكون هناك طريقة.

يبدو أن Broadcastreceives لن يعملوا ، لأن القصد الذي يتم بثه كلما تم الضغط على زر الصفحة الرئيسية سيظل يؤدي إلى تشغيل تطبيق الشاشة المثلية الافتراضية ؛ لا أستطيع منعه. يمكنني تجاوز زر الصفحة الرئيسية من داخل تطبيقي ، لكن هذا لا يفيدني لأن هذا يحتاج إلى العمل عندما يكون المستخدم خارج تطبيقي. لا تفعل Car Home أيضًا أي شيء غريب مثل وضع نفسه كتطبيق الافتراضي للشفوم أثناء تشغيله (لقد راجعت Logcat للتأكد).

لقد ضربت رأسي حقًا على الحائط على هذا. هل لدى أي شخص أي أفكار ، أو يمكنك على الأقل توجيهني في الاتجاه الصحيح؟

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

المحلول

حسنًا ، بعد عدة أشهر ، وجدت أخيرًا إجابة هذا السؤال. المفتاح هو عنصر بيانات التعريف "Android.dock_home" ، الموجود هنا:

http://developer.android.com/reference/android/content/intent.html#metadata_dock_home

باستخدام هذا في AndroidManifest.xml ، يمكنك جعل تطبيق Dock الخاص بك يصبح تطبيق المنزل مؤقتًا. للقيام بذلك ، أضف هذا السطر إلى AndroidManifest.xml داخل علامات النشاط لنشاط تطبيق Dock:

<meta-data android:name="android.dock_home" android:value="true" />

إذا تم ضبط القيمة على TRUE ، طالما أن هاتفك قد رست ، فسوف يعيدك زر الصفحة الرئيسية إلى تطبيق Dock. بعد إهماله ، سيعيدك زر الصفحة الرئيسية إلى تطبيق المنزل العادي.

نصائح أخرى

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

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

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

تحتاج إلى تصفية النية الصحيح في بيانك لتطبيق التطبيق تلقائيًا عند إرساء الهاتف. تشير إلى http://developer.android.com/reference/android/content/intent.html#category_car_dock للمعلومات.

لقد وجدت طريقة لمعالجة مفتاح المنزل. لتطبيقك قم بتعيين البيان كـ

<action android:name="android.intent.action.MAIN" />                              
<category android:name="android.intent.category.HOME" />                                
<category android:name="android.intent.category.DEFAULT" />                            
<category android:name="android.intent.category.MONKEY"/> 

الآن التطبيق الخاص بك هو تطبيق بديل مشغل.

استخدم ADB ، وتعطيل تطبيق Launcher باستخدام Package Manager

PM تعطيل com.android.launcher2.

الآن ستبقى Laways Laways Laways في نفس الشاشة.

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