[android] 내 안드로이드 앱이 Lyft 앱을 재정의하고 있습니까?

어떻게 든 Lyft 드라이버 앱을 인계하거나 재정의하는 Android 앱을 만들었습니다. 기본적으로 사용자가 내 Android 앱을 다운로드 할 때마다 Lyft 앱을 대신 사용합니다. 그녀는 Lyft에서 (매우 바쁜 시간 중에도) 승차 요청을받지 않습니다. 그런 다음 앱을 삭제하면 다시 완벽하게 작동합니다. 그녀는 즉시 다시 타게된다. 내가 본 것 중에 가장 이상한 것입니다. 그리고 이것은 우연의 일치가 아니며 앱을 죽일 때 Lyft 드라이버 앱을 대신하는 내 앱 로고를 문자 그대로 보여줍니다.사진 첨부Lyft 로고가 원래 어떻게 표시되어 있는지 확인하십시오. 그런 다음 앱을 설치하면 Lyft 앱 로고가 표시됩니다 (내 로고는 기본 Android 로고 일뿐입니다). 그녀는 내 앱을 죽일 수도 있고 Lyft와 Uber 드라이버 앱도 작동하지 않습니다! 이 문제를 해결하는 유일한 방법은 앱을 완전히 제거하고 휴대 전화를 다시 시작하는 것입니다. 그런 다음 모든 것이 완벽하게 작동합니다. 중요한 요소 중 하나는 항상 위치를 추적한다는 것입니다. 나는이 버그로 어디서부터 시작 해야할지 확실하지 않으므로 아이디어가 도움이됩니다. 감사! 사용자는 Android 10에서 Galaxy Note 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>



답변

귀하의 문제는 의 태그에 정의 된 name요소 와 관련이 있다고 생각합니다 .Manifest.xmlapplication

당신은 다음과 같이 정의되어 .parse.parse있습니다. 구문 분석 플랫폼 에서이 링크 를 보면 앱 이름으로 선언 한 것 같습니다.

이 이름 요소는 중요하지 않은 것처럼 보일 수 있지만 실제로는 애플리케이션이 애플리케이션 레벨 컨텍스트를 생성하는 위치이거나이 경우 외부 Intents가 감지되는 위치 입니다.

시스템이 어느 것을 당겨야하는지 구별 할 수 없기 때문에 가능하면 Lyft 위로 끌어 당기는 것입니다.

이 문제를 해결하려면 다음 Application과 같이 프로젝트의 어딘가에서 클래스를 확장하는 자체 클래스를 선언하십시오 .

public class MyApplication extends Application {

    private static MyApplication sInstance;

    @Override
    public void onCreate() {
        super.onCreate();
        sInstance = this;
    }

    /**
     * Get an instance of the application.
     *
     * @return {@link MyApplication}
     */
    public static synchronized MyApplication getInstance() {
        if (sInstance == null) {
            sInstance = new MyApplication();
        }
        return sInstance;
    }

    /**
     * Get context
     *
     * @return Context
     */
    public static synchronized Context getContext() {
        return getInstance().getApplicationContext();
    }
}

그런 다음 매니페스트를 다음과 같이 업데이트하십시오.

 <application
        .
        android:name=".MyApplication"
        .
        .
        .>
...

그리고 제대로 작동해야합니다.

여전히 문제가있는 경우 추가 정보로 질문을 업데이트하면 추가로 진단 할 수 있습니다.


답변