من الواضح أن المشكلة التي تواجهها في تطبيقك تتمثل في ظهور تثبيتين مختلفين عند تثبيت وتصحيح التطبيق على الجهاز الذكي. يبدو أن هناك تشغيل مزدوج لشاشة البداية (Splashscreen)، واحدة تظهرها عند تشغيل التطبيق والأخرى تظهرها بدون ظهور الشاشة الرئيسية. لحل هذه المشكلة، ينبغي التأكد من تكوين التطبيق بشكل صحيح في ملف التهيئة الأساسي (Manifest).
بناءً على ملف التهيئة الذي قدمته، يبدو أن لديك نشاطين مع شاشتي بداية مختلفتين (MainActivity وSplashScreen)، كلاهما مُعرّف بفلاتر النوايا الرئيسية (MAIN) وفئة الإطلاق (LAUNCHER). هذا يعني أن النظام يفترض أن يعرض خيارين لتشغيل التطبيق عندما يتم تثبيته.
-
Docker: ثورة في تطوير البرمجيات06/01/2024
-
تصحيح مشكلة تحديد نهاية سلسلة Fibonacci07/04/2024
لحل هذه المشكلة، ينبغي عليك إزالة إحدى الفلاتر من النشاط الذي لا ينبغي أن يكون النشاط الرئيسي للتطبيق. بمعنى آخر، يجب أن يكون هناك نشاط واحد فقط مرتبط بفلتر النية الرئيسي (MAIN) وفئة الإطلاق (LAUNCHER). يجب أن يكون هذا النشاط هو الشاشة الرئيسية التي تظهر عند بدء تشغيل التطبيق.
بالنسبة لشاشة البداية (Splashscreen)، يجب أن تكون مرتبطة فقط بفلتر النية (MAIN) وليس بفئة الإطلاق (LAUNCHER). هذا يعني أن النظام لن يعتبرها نقطة بداية للتطبيق، ولكنها ستعرض فقط عند بدء التطبيق.
لتصحيح ذلك، يمكنك تعديل ملف التهيئة الخاص بك كما يلي:
xml<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.soft.prmk.alle"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:hardwareAccelerated="true"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
intent-filter>
activity>
<activity
android:name=".SplashScreen"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
intent-filter>
activity>
application>
manifest>
بعد التغييرات اللازمة، يجب أن يظهر تطبيقك الآن بشكل صحيح بدون أي مشاكل في تكرار شاشات البداية عند التثبيت والتصحيح. قم بإجراء هذه التغييرات وجرب تشغيل التطبيق مرة أخرى على الجهاز الذكي الخاص بك للتحقق مما إذا كانت المشكلة قد حُلت بشكل صحيح.
المزيد من المعلومات
بالطبع، هناك بعض المعلومات الإضافية التي يمكن أن تساعد في فهم وحل المشكلة بشكل أفضل.
أولاً، يُعتبر ملف الـ Manifest هو البوابة الأساسية التي يتم من خلالها تعريف خصائص التطبيق وتكوينه، لذا يجب التحقق منه جيدًا. بناءً على المعلومات المقدمة، يبدو أن التكوين الحالي يسمح بظهور نشاطين كنقاط بداية للتطبيق، مما يؤدي إلى العرض المتكرر لشاشات البداية.
ثانيًا، يجب التحقق من كيفية تمييز الشاشتين في التطبيق، وهل تقوم بتحميل محتوى مختلف أو عمليات مختلفة. قد يكون هذا مهمًا لفهم السبب وراء وجود شاشتي بداية مختلفتين.
ثالثًا، يمكن أن يكون هناك بعض الأنشطة الأخرى أو الإعدادات التي قد تؤثر على سلوك التطبيق. يُفضل فحص أي تكوينات إضافية في ملف الـ Manifest والتأكد من عدم وجود أي تعارض بينها.
رابعًا، يجب مراجعة الشيفرة (الكود) المصدرية للتطبيق بحثًا عن أي إعدادات أو متغيرات قد تؤثر على عملية تشغيل الشاشات بشكل صحيح.
ختامًا، يُفضل فحص تقارير الأخطاء (logs) التي تُنشأ عند تشغيل التطبيق على الجهاز الذكي، فقد توفر هذه التقارير معلومات قيمة تساعد في تحديد مكان وسبب المشكلة.
من خلال مراجعة هذه النقاط والتحقق من المزيد من التفاصيل حول التطبيق وكيفية عمله، يمكن تحديد الخطوات اللازمة لحل المشكلة بشكل فعال ودقيق.