【问题标题】:Application is launching twice if opening from a hyperlink如果从超链接打开,应用程序将启动两次
【发布时间】:2013-09-12 16:32:33
【问题描述】:

我正在开发一个可以从多个地方启动的应用程序,例如日历中的超链接。 我在以下情况下面临问题: 如果应用程序已经启动并在后台运行,并且用户单击本机日历中的事件/超链接以启动应用程序。我的应用程序作为新实例启动了两次。在正在运行的应用程序列表中,我可以看到我的应用程序的两个实例。 我已经为我的主要活动尝试了 android:launchMode="singleInstance" 和 "singleInstance" 属性。但仍然无法正常工作。谁能给我建议解决方案?

我的清单如下所示:

<application
android:allowBackup="true"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity android:name="com.org.ManishApp" 
android:configChanges="keyboard|keyboardHidden|orientation|screenSize" 
android:launchMode="singleInstance">
<intent-filter>`enter code here`
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

【问题讨论】:

    标签: android android-manifest


    【解决方案1】:

    您是否在清单中添加了此意图过滤器

    <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="http" />
                    <data
                        android:host="yify-torrents.com"
                        android:pathPrefix="/" />
                </intent-filter>
    

    pathprefix 是域“example.com”之后的子目录

    【讨论】:

    • 是的,这个意图过滤器在那里,但它仍然不起作用 过滤器> 活动>
    • 添加这个它肯定会解决你的问题(我猜是这样)android:launchMode="singleTask" 代替 android:launchMode="singleInstance"
    • 我试过 android:launchMode="singleInstance" 但不幸的是它没有解决。当我按下 Home 键并再次返回时很好,但如果我试图从其他超链接(日历超链接)启动我的应用程序,那么它会显示两个实例
    • 我让你使用singleTask而不是singleInstance
    • 是的对不起,我的意思是说我也检查了 android:launchMode="singleTask" 但它不起作用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    相关资源
    最近更新 更多