Я создал приложение для Android, которое каким-то образом захватывает или отменяет приложение драйвера Lyft. По сути, всякий раз, когда пользователь загружает мое приложение для Android, оно каким-то образом захватывает его приложение Lyft. Она не получит никаких запросов на поездку от Lyft (даже в середине очень занятого времени). Затем, когда она удаляет мое приложение, оно снова работает отлично. Она немедленно получает аттракционы снова. Это самая странная вещь, которую я когда-либо видел. И это не просто случайность, когда она собирается убивать свои приложения, это буквально показывает логотип моего приложения, который берет на себя приложение драйвера Lyft.Обратите внимание, как изначально он имеет логотип Lyft. Затем, когда мое приложение установлено, оно имеет мой логотип для приложения Lyft (мой логотип - это просто логотип Android по умолчанию). Она может даже убить мое приложение, и ее приложение Lyft, а также приложение Uber не работают! Единственный способ исправить это - полностью удалить мое приложение и перезагрузить телефон. Тогда все работает отлично. Один важный элемент - я все время отслеживаю местоположение. Я просто не совсем уверен, с чего начать эту ошибку, поэтому любые идеи полезны. Спасибо! Пользователь использует Galaxy Note 10+ с Android 10. Никто из наших других пользователей Android не рассказал нам об этой проблеме. Вроде бы уникальный чехол для этого телефона.
Вот все мои манифесты и намерения:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.danieljones.nomad_drivers">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION"/>
<application
android:requestLegacyExternalStorage="true"
android:name=".parse.Parse"
android:allowBackup="true"
android:fullBackupContent="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".checkIn.CheckInActivity"
android:label="@string/title_activity_check_in"/>
<activity android:name=".insurance.analysis_activity.ZendriveAnalysisActivity" />
<activity android:name=".fare.breakdowns.FareBreakdownActivity" />
<activity
android:name=".navigation.HomeNavigationActivity"
android:label="@string/title_activity_home_navigation"
android:screenOrientation="portrait"/>
<activity android:name=".welcome.LoginActivity" />
<activity android:name=".welcome.special_code.CodeActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".new_rides.ride_detail.NewRideDetailActivity" />
<activity android:name=".rides_lists.ride_detail.RideDetailActivity" />
<activity android:name=".personal_rides.ride_detail.PersonalRideDetailActivity" />
<activity android:name=".review_list.ReviewActivity"/>
<activity android:name=".user_profile.driver_card.EditProfileActivity" />
<activity android:name=".user_profile.edit_form.EditProfileFormActivity"/>
<receiver android:name=".insurance.zendrive.MyZendriveBroadcastReceiver" />
<activity android:name=".archived_rides.ride_detail.ArchivedRideDetailActivity" />
<service
android:name="com.parse.fcm.ParseFirebaseMessagingService"
android:permission="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
<receiver
android:name=".push_notifications.ParseCustomBroadcastReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.DELETE" />
<action android:name="com.parse.push.intent.OPEN" />
</intent-filter>
</receiver>
</application>
Context.registerReceiver()
илиPackageManager
. Смотрите: Как создать / отключить интент-фильтр программируемым способом?Ответы:
Я считаю, что ваша проблема связана с вашим определенным
name
элементом в вашемManifest.xml
, в частности, подapplication
тегом.Вы определили как:,
.parse.parse
что мне кажется довольно странным. Глядя на эту ссылку с платформы разбора, я думаю, это то, что вы объявляете в качестве названия вашего приложения.Этот элемент имени, хотя он может показаться неважным, на самом деле, где ваше приложение генерирует контекст уровня приложения, или, в данном случае, когда
Intents
обнаруживаются внешние .Весьма вероятно, что система не может различить, кого вытащить, и поэтому она тянет вас за Lyft, когда это возможно.
Чтобы решить эту проблему, просто объявите свой собственный класс, который расширяет
Application
класс где-то в вашем проекте следующим образом:Затем просто обновите свой манифест, чтобы он выглядел так:
И это должно функционировать правильно.
Если у вас все еще есть проблемы, обновите ваш вопрос с дополнительной информацией, и мы сможем диагностировать ее дальше.
источник
${packageName}.something
так что это тоже не должно быть причинойnew MyApplication()
никогда не будет называться, если только вы не запутались в нестандартной версии. Также нет, где они хранят статическую ссылку на приложение