我在Play商店中发布了一个应用程序。当我在Facebook或其他社交网站上共享链接时,然后从移动设备上单击它,如果设备已经有该应用程序而不是打开播放商店,它将直接加载我的应用程序。问题在于,发生这种情况时,该应用程序不会加载任何 Activity 并卡在白屏上。我认为这可能与Application类有关,但我不知道该如何解决。

public class AppGlobal extends Application {
@Override
public void onCreate() {
    super.onCreate();
    // things that I must do by extending application

    if(DEBUG)
        Log.e("AppGlobal","Started");
   }
}

更新:这是用户单击Facebook帖子的链接。请注意,仅当在Facebook应用程序上单击该帖子并且用户已经在同一设备上安装了我的应用程序时,才会发生我描述的行为。
https://play.google.com/store/apps/details?id={package-name-of-app}

当我尝试使Play商店链接发生链接时,这就是调试日志记录。
04-10 12:32:47.955 11111-11111/? E/Zygote: v2
04-10 12:32:47.956 11111-11111/? E/Zygote: accessInfo : 0
04-10 12:32:49.056 11111-11111/it.mybeautifullApp E/AppGlobal: Started

我还在线阅读了这可能与清单中缺少意图过滤器有关,但我认为我已经正确设置了它们:

更新2:发布了整个清单(已通过新的深层链接尝试进行了更新)
  <application
    android:name=".AppGlobal"
    android:allowBackup="false"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:largeHeap="true"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme"
    tools:replace="android:icon,android:allowBackup">
    <activity
        android:name=".SplashActivity"
        android:theme="@style/NoActionBar">
        <intent-filter android:label="from_play_store">
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data
                android:scheme="https"
                android:host="play.google.com" />
        </intent-filter>
        <intent-filter android:label="from_play_store_market">
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />
            <data
                android:scheme="market"
                android:host="details?id=it.cineprime" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name=".LoginActivity"
        android:theme="@style/NoActionBar" />

    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/facebook_app_id" />
    <meta-data
        android:name="preloaded_fonts"
        android:resource="@array/preloaded_fonts" />

    <activity
        android:name="com.facebook.FacebookActivity"
        android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
        android:label="@string/app_name" />
    <activity
        android:name="com.facebook.CustomTabActivity"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="@string/fb_login_protocol_scheme" />
        </intent-filter>
    </activity>
    <activity
        android:name=".SignupActivity"
        android:theme="@style/NoActionBar" />
    <activity
        android:name=".MainActivity.MainActivity"
        android:screenOrientation="portrait" />
    <activity android:name=".CheckoutActivity" />
    <activity
        android:name=".SurveyActivity"
        android:theme="@style/NoActionBar" />
    <activity android:name=".BarcodeActivity" />
    <activity
        android:name=".SettingsActivity"
        android:label="@string/title_activity_settings"
        android:parentActivityName=".MainActivity.MainActivity">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="it.cineprime.MainActivity.MainActivity" />
    </activity>
    <activity
        android:name=".IntroActivity"
        android:screenOrientation="portrait"
        android:theme="@style/NoActionBar" />
    <activity
        android:name=".DetailActivity"
        android:theme="@style/NoActionBarCollapsing" />
</application>

所以问题是:如何以上述方式调用应用程序时进行拦截,或者至少如何避免白屏死机?

最佳答案

在主题中添加<item name="android:windowBackground">@null</item>摆脱白色屏幕

关于android - 当我从Play商店链接中打开我的应用程序时,它不会加载任何 Activity 并显示白屏,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49751721/

10-10 18:30
查看更多