0

I have an app in Google Play store, it worked well untill my last update. Now when a user downloads the new updated app from Google play, it installs correctly, but there is NO icon to be found anywhere and the app can't be launched. Also in Google play there is no OPEN button, only UNINSTALL. When I check my app list in my device, the app is there, but can't be launched.

The only thing what I have done there is - I added to manifest to intent-filter <data android:scheme="geo" />

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="***">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

    <application
        android:allowBackup="false"
        android:supportsRtl="false"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher"
        android:theme="@style/Theme.AppCompat.NoActionBar">

        <meta-data
            android:name="com.google.firebase.messaging.default_notification_icon"
            android:resource="@mipmap/ic_notify" />
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_color"
            android:resource="@color/colorPrimaryDark" />
        <meta-data
            android:name="com.google.firebase.messaging.default_notification_channel_id"
            android:value="@string/default_notification_channel_id" />

        <activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.VIEW" />
                <data android:scheme="geo" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".Novinky"
            android:label="Novinky"
            android:parentActivityName=".MainActivity"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme" />
        <activity
            android:name=".Search"
            android:label="Search"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme" />
        <activity
            android:name=".Zoznam"
            android:label="Zoznam"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme" />
        <activity
            android:name=".Visited"
            android:label="Visited"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme" />
        <activity
            android:name=".Okoli"
            android:label="V okoli"

            android:parentActivityName=".MainActivity"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme" />
        <activity
            android:name=".SingleitemView"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme" />

        <meta-data
            android:name="com.google.android.geo.API_KEY"
            android:value="@string/google_maps_key" />

        <activity
            android:name=".MapsActivity"
            android:label="Mapy"
            android:theme="@style/AppTheme" />
        <activity
            android:name=".AkcieActivity"
            android:label="Udalosti"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme" />
        <activity
            android:name=".InfoActivity"
            android:screenOrientation="portrait"
            android:theme="@style/AppTheme" />


        <!-- [START firebase_iid_service] -->
        <service
            android:name=".MyFirebaseMessagingService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.MESSAGING_EVENT" />
            </intent-filter>
        </service> <!-- [END firebase_iid_service] -->
        <service
            android:name=".MyFirebaseInstanceIDService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
            </intent-filter>
        </service>
    </application>

</manifest>

and the second thing what I updated is my graddle file to ignore the split for language:

 apply plugin: 'com.android.application'
apply plugin: 'io.fabric'


android {
    compileSdkVersion 29
    defaultConfig {
        applicationId "***"
        minSdkVersion 23
        targetSdkVersion 29
        versionCode 11
        versionName "2.01"
        ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    bundle {

        language {
            enableSplit = false
        }
    }
}


dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.0.2'
    implementation "androidx.preference:preference:1.1.0-rc01"
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'com.google.android.gms:play-services-maps:17.0.0'
    testImplementation 'junit:junit:4.12'
    implementation 'com.google.firebase:firebase-core:17.1.0'
    implementation 'com.google.firebase:firebase-analytics:17.1.0'
    implementation 'com.crashlytics.sdk.android:crashlytics:2.10.1'
    implementation 'com.google.firebase:firebase-messaging:20.0.0'
    androidTestImplementation 'androidx.test:runner:1.2.0'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.squareup.picasso:picasso:2.5.2'
    implementation 'com.google.android.material:material:1.0.0'


}
apply plugin: 'com.google.gms.google-services'

I have a suspicion, that the newly added geo scheme to the intent-filter may cause this or the enableSplit option, but I am not sure. when I tested the app on my device through Android Studio it works well, this issue is only after publishing.

Darksymphony
  • 2,155
  • 30
  • 54
  • Is this happening for every device? Also is the scenario same if you install first time from play-store? – Soham Sep 04 '19 at 07:16
  • yes, for all users all devices and also first install. I think it might be something with the Launcher intent that is not working for some reason – Darksymphony Sep 04 '19 at 07:18
  • It's weird. Your code seems fine.Can you post your full gradle and manifest file ? – Soham Sep 04 '19 at 07:21
  • 1
    Hello try to split the intent according this [answer](https://stackoverflow.com/questions/33097743/android-studio-app-icon-doesnt-appear-in-the-home-screen-or-app-list#answer-33097868) – Trix Sep 04 '19 at 07:36
  • 1
    @Sohan I updated my answer with my full manifest and gradle code. – Darksymphony Sep 04 '19 at 07:38
  • @Trix I will try that solution today later – Darksymphony Sep 04 '19 at 07:39

1 Answers1

1

I am not sure this will work.But can you try with two different intent filter like below :--

<activity
            android:name=".MainActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
 <intent-filter>
  <action android:name="android.intent.action.VIEW" />
                <data android:scheme="geo" />
 </intent-filter>
        </activity>

EDIT :-- I just noticed @Trix also suggested the same.

Soham
  • 4,397
  • 11
  • 43
  • 71
  • 1
    Thank you, this is exactly what Trix has proposed. This solution works fine, however I am not sure why should I divide it to multiple intent-filters, but this way it works! I think for some reason it didn't reach the LAUNCHER, that's why it did not work. Now it is solved, thanks. – Darksymphony Sep 05 '19 at 07:09
  • 1
    Glad it helped.I just guessed the answer.Later I saw @Trix suggested the same with a proper link. – Soham Sep 05 '19 at 07:37