接收外部文件时未显示启动活动

问题描述

我有一个关于启动活动接收外部文件的问题。

在接收外部文件时,我试图为这两种情况找到解决方案:

  1. 如果应用未执行。应该显示飞溅活动,然后导航到主要活动
  2. 应用正在执行。启动活动不应显示,而仅显示主要活动

我将接收外部文件移动到了启动活动 <activity>标签下,然后无论执行还是执行,该应用都会显示启动活动不。 但是,将接收外部文件保留在主要活动 <activity>标签下。先前的问题将得到解决,但是如果在不执行应用程序时收到文件,则会出现问题。 启动活动将不会显示,而只会显示主要活动

我认为有解决方案可以解决。如果launch app <intent-filter>receiving the external files <intent-filter>都移到主要活动下并在主要活动 onCreate()中创建变量以确定应显示是否启动活动。但是我不确定此解决方案是否正确,或者有更好的解决方案可以优雅地解决此问题。

这是我的 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="net.hikingbook.hikingbook">
    <application
        android:name=".HikingbookApplication"
        android:allowBackup="true"
        android:fullBackupContent="@xml/backup_descriptor"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="false"
        android:theme="@style/HBTheme"
        tools:ignore="LockedOrientationActivity">
        <activity
            android:name=".ui.activities.SplashActivity"
            android:screenorientation="portrait"
            android:theme="@style/HBTheme.Splash">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name=".ui.activities.MainActivity"
            android:label="@string/app_name"
            android:theme="@style/HBTheme"
            android:launchMode="singleInstance"
            android:screenorientation="portrait"
            android:windowSoftInputMode="statealwaysHidden|adjustPan" >

            <intent-filter android:label="@string/app_name">
                <action android:name="android.intent.action.VIEW" />
                <action android:name="android.intent.action.SEND" />

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

                <data android:scheme="file" />
                <data android:scheme="http" />
                <data android:scheme="https" />
                <data android:scheme="content" />
                <data android:mimeType="application/xml" />
                <data android:mimeType="application/kml" />
                <data android:mimeType="application/gpx" />
                <data android:mimeType="application/json" />
                <data android:mimeType="application/gpx+xml" />
                <data android:mimeType="application/geo+json" />
                <data android:mimeType="application/kml+xml" />
                <data android:mimeType="application/octet-stream" />
                <data android:mimeType="application/vnd.google-earth.kml" />
                <data android:mimeType="application/vnd.google-earth.gpx" />
                <data android:mimeType="application/vnd.google-earth.gpx+xml" />
                <data android:mimeType="application/vnd.google-earth.kml+xml" />
            </intent-filter>
        </activity>
    </application>

</manifest>

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...