使用意图URI启动应用程序(并将该URI显示为其他应用程序中的链接)

时间:2014-03-15 19:17:14

标签: android android-intent hyperlink uri

我知道以前曾经问过这个问题,而且我已经查看了很多这些问题,但似乎没有人能够为我提供答案。 我想要做的是当我点击链接时打开我的应用程序,在我的情况下看起来像点://test.com/。我试图通过意图来实现这一点。当我用http://替换dots://并在我的方案中使用http而不是点,它工作正常。但是由于我拥有的唯一域名都有很长的网址,所以走这条路是行不通的。 我的android清单看起来像这样:

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:logo="@drawable/logo"
        android:theme="@style/AppTheme" >
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <meta-data
            android:name="ADMOB_ALLOW_LOCATION_FOR_ADS"
            android:value="true" />

        <activity
            android:name="nl.delta6.dots.engine.MainActivity"
            android:exported="true"
            android:label="@string/app_name"
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
            <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="dots" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.google.android.gms.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
</application>

我尝试了Make a link in the Android browser start up my app?Launch android application from a browser link等帖子中提到的众多解决方案,但似乎没有一个适用于我。欢迎所有的想法。

编辑1: 好的,所以我注意到,如果我点击网页上的链接,如点链接,它会启动我的应用程序。链接只是在其他应用程序中不显示为链接,但我知道这是可能的。我会继续环顾四周,但是如果有人能够把我送到正确的方向,那将非常受欢迎。

1 个答案:

答案 0 :(得分:0)

我认为最好的文章在这里:Make a link in the Android browser start up my app?

请注意,您确实想要使用hackbod的建议,这意味着向自己注册“点”方案并不是一个好主意。创建浏览器可以使用的链接的最简单方法是首先在测试设置中将您的意图格式设置为uri:

Intent intent = new Intent(someContext, MainActivity.class)
System.out.println[or use logcat](intent.getUri());

然后将intent.getUri()的输出粘贴为url。它看起来像:

intent:#Intent;component=[your/activty/class/NameActivity;]

如果您将其作为网站上的链接投放,请在安装了应用的手机上与其关联,然后点击应该打开应用的链接。

请注意,如果您想查看可用于将额外数据发送回应用的示例意图uris,您还可以使用putExtra为活动添加“extras”。