在链接点击而不是浏览器上打开我的应用程序-Android

奈拉·艾哈迈德(Nayra Ahmed)

如果设备上安装了应用程序,我想通过链接单击而不是浏览器来打开我的应用程序,否则打开Goog​​le Play。所以搜索后..这是我的清单

    <activity
        android:name="example.com.MyActivity"
        android:label="@string/title_activity_open_event_details" >
        <intent-filter>
            <data
                android:host="play.google.com"
                android:scheme="http"/>
            <action android:name="android.intent.action.VIEW" />

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


        </intent-filter>
    </activity>

这是我的活动

    public class MyActivity extends Activity {

private int EventId;
private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_open_event_details);

    tv = (TextView) findViewById(R.id.testtv);

    Uri data = getIntent().getData();
    if ( data != null )
    {
        String scheme = data.getScheme();
        String host = data.getHost(); 
        List<String> params = data.getPathSegments();
        String first = params.get(0); 
        String second = params.get(1); 

        int size = params.size();
    //  EventId  = params.get(size-1);
        String third = params.get(size-1);
        tv.setText(data.toString());
    }


  }


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.my_activity, menu);
    return true;
}

}

当我单击此链接时,https://play.google.com/store/apps/details? id = example.com evid = 117 MyActivity成功打开,但出现在文本视图中的链接仅为https://play.google。 com / store / apps / details?id = example.com而没有&evid = 117,我需要获取一些数据并将其显示在我的活动中

你能帮我知道我在想什么吗?提前致谢

佩德罗·奥利维拉(Pedro Oliveira)

要获取该ID,请尝试以下代码:

    Uri data = getIntent().getData();
    if (data != null) {
        String url = data.toString();
            try {
                List<NameValuePair> params = URLEncodedUtils.parse(new URI(url), "UTF-8");
                for (NameValuePair para : params)
                    if (para.getName().equals("evid")) {
                        String id = para.getValue(); //my id (117)
                        Log.v("myId",id);
                    }
            } catch (URISyntaxException e) {
                e.printStackTrace();
            }

        }

另外,您不包括https协议。添加

<data android:host="play.google.com" android:scheme="https"/>

编辑

我已经测试了此代码,并且可以正常工作。我已经使用上面提供的代码和意图过滤器创建了一个简单的活动:

<intent-filter>
       <action android:name="android.intent.action.MAIN" />

       <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>
        <action android:name="android.intent.action.VIEW"/>
        <data android:host="play.google.com" android:scheme="http"/>
        <data android:host="play.google.com" android:scheme="https"/>
 </intent-filter>

输出结果如预期的那样117

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android WebView在浏览器而不是应用程序中打开链接

来自分类Dev

当我从网址重定向时,Android应用程序已在浏览器上打开

来自分类Dev

Android应用程序链接-在浏览器中从应用程序打开URL而不触发应用程序链接

来自分类Dev

Webview-在外部应用程序和浏览器/ Android中打开链接

来自分类Dev

如何在Android的WebView的外部浏览器和应用程序内打开链接

来自分类Dev

Android-意图过滤器,用于链接到浏览器外部打开的应用程序

来自分类Dev

如何从链接打开Android应用程序而无需要求用户在第一次浏览器或应用程序之间进行选择

来自分类Dev

带有URL打开浏览器的Android NFC标签,而不是我的应用

来自分类Dev

在浏览器中单击URL时如何打开android应用程序

来自分类Dev

在浏览器中在应用程序外部打开的片段android中的webview

来自分类Dev

在浏览器中单击URL时如何打开android应用程序

来自分类Dev

如何在Android的网络浏览器(Chrome)中自动打开任何应用程序?

来自分类Dev

如何从Web浏览器href链接启动预安装的android应用程序?

来自分类Dev

从浏览器转发后如何从我的Android应用程序接收URL。

来自分类Dev

Android打算在设备而非浏览器上使用Amazon应用程序查看商品

来自分类Dev

访问Android应用程序上的浏览器历史记录

来自分类Dev

Angular 应用程序无法加载到 Android 浏览器上

来自分类Dev

android浏览器的应用程序缓存问题

来自分类Dev

在手机浏览器中打开时,如何通过html按钮打开android应用程序

来自分类Dev

如何在Android应用程序的浏览器中使用Android应用程序打开和显示.html文件的内容

来自分类Dev

android浏览器上的链接问题

来自分类Dev

模拟浏览器以运行Web应用程序的Android应用程序

来自分类Dev

Android:将我的应用程序定义为Firefox浏览器作为下载管理器

来自分类Dev

WPF XAML浏览器应用程序(XBAP)是否可以在Android和Windows Phone浏览器上运行?有哪些选择?

来自分类Dev

使用应用程序中嵌入的浏览器时,无法从Android上的网页访问地理位置

来自分类Dev

framework7 中的 Material Icons 在 pc 浏览器上加载,但不在 Android 应用程序中加载

来自分类Dev

如何在Android的我的应用程序中打开其他应用程序的链接

来自分类Dev

从应用程序打开android深度链接

来自分类Dev

从应用程序打开android深度链接

Related 相关文章

  1. 1

    Android WebView在浏览器而不是应用程序中打开链接

  2. 2

    当我从网址重定向时,Android应用程序已在浏览器上打开

  3. 3

    Android应用程序链接-在浏览器中从应用程序打开URL而不触发应用程序链接

  4. 4

    Webview-在外部应用程序和浏览器/ Android中打开链接

  5. 5

    如何在Android的WebView的外部浏览器和应用程序内打开链接

  6. 6

    Android-意图过滤器,用于链接到浏览器外部打开的应用程序

  7. 7

    如何从链接打开Android应用程序而无需要求用户在第一次浏览器或应用程序之间进行选择

  8. 8

    带有URL打开浏览器的Android NFC标签,而不是我的应用

  9. 9

    在浏览器中单击URL时如何打开android应用程序

  10. 10

    在浏览器中在应用程序外部打开的片段android中的webview

  11. 11

    在浏览器中单击URL时如何打开android应用程序

  12. 12

    如何在Android的网络浏览器(Chrome)中自动打开任何应用程序?

  13. 13

    如何从Web浏览器href链接启动预安装的android应用程序?

  14. 14

    从浏览器转发后如何从我的Android应用程序接收URL。

  15. 15

    Android打算在设备而非浏览器上使用Amazon应用程序查看商品

  16. 16

    访问Android应用程序上的浏览器历史记录

  17. 17

    Angular 应用程序无法加载到 Android 浏览器上

  18. 18

    android浏览器的应用程序缓存问题

  19. 19

    在手机浏览器中打开时,如何通过html按钮打开android应用程序

  20. 20

    如何在Android应用程序的浏览器中使用Android应用程序打开和显示.html文件的内容

  21. 21

    android浏览器上的链接问题

  22. 22

    模拟浏览器以运行Web应用程序的Android应用程序

  23. 23

    Android:将我的应用程序定义为Firefox浏览器作为下载管理器

  24. 24

    WPF XAML浏览器应用程序(XBAP)是否可以在Android和Windows Phone浏览器上运行?有哪些选择?

  25. 25

    使用应用程序中嵌入的浏览器时,无法从Android上的网页访问地理位置

  26. 26

    framework7 中的 Material Icons 在 pc 浏览器上加载,但不在 Android 应用程序中加载

  27. 27

    如何在Android的我的应用程序中打开其他应用程序的链接

  28. 28

    从应用程序打开android深度链接

  29. 29

    从应用程序打开android深度链接

热门标签

归档