فشل إطلاق اختصار: التطبيق غير مثبت على هاتفك
-
26-09-2019 - |
سؤال
أحاول إنشاء اختصار لسطح المكتب إلى أحد نشاطي في Android. أستخدم الرمز الذي يعمل في كل مثال على توتو قرأته:
final Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
ComponentName name = new ComponentName(getPackageName(), ".MyActivity");
shortcutIntent.setComponent(name);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
final Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "blabla");
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, icon);
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
sendBroadcast(intent);
finish();
وأضفت الإجراء الرئيسي إلى نشاطي:
<activity android:label="@string/app_name" android:name=".MyActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
</intent-filter>
</activity>
والنتيجة هي أن التطبيق لا يريد الإطلاق!
في logcat يبدو كل شيء على ما يرام:
10-01 01:17:51.591: INFO/ActivityManager(2424): Starting activity: Intent { act=android.intent.action.MAIN flg=0x14000000 cmp=my.package.name/.MyActivity bnds=[125,384][235,522] (has extras) }
ويخبرني المنزل أن التطبيق غير مثبت.
الرجاء مساعدتي ، أنا ضائع تمامًا وأقضي بضع ساعات في محاولة لحل المشكلة وقراءة جميع المعلومات التي يمكنني الحصول عليها.
شكرا جزيلا!
المحلول
جرب هذا:
- تخلص من
<intent-filter>
- تخلص من
ACTION_MAIN
وفقط استخدامnew Intent(this, MyActivity.class)
- إضافة Android: تصدير = "صحيح" إلى عنصرك في البيان
نصائح أخرى
يمكن أن يحدث هذا إذا تم إعلان نشاطك مرتين في AndroidManifest.xml ، أولاً كقاذفة ثم أعلنت للتو مثل:
<activity android:name=".MyActivity" />
لا تنتمي إلى StackOverflow