Android share deep link url using whatsapp and open my app when click deep link

蹲街弑〆低调 提交于 2019-11-30 15:43:06

问题


I am sharing some data using whatsapp, and I want to open a specific activity in my app when user press deep link from whatsapp

I have the following schema

myapp://openapp?type=banner&id=10

whatsapp share the link as a normal text not as url and also I can't open my app when user press it

can anyone help please ?

EDIT

this is my sharing method

public static void openWhatsApp(Context mContext) {

        PackageManager pm = mContext.getPackageManager();
        try {

            Intent whatsAppIntent = new Intent(Intent.ACTION_SEND);
            whatsAppIntent.setType("text/plain");

            String text = "myapp://openapp?type=banner&id=10";

            PackageInfo info=pm.getPackageInfo("com.whatsapp", PackageManager.GET_META_DATA);
            whatsAppIntent.setPackage("com.whatsapp");

            whatsAppIntent.putExtra(Intent.EXTRA_TEXT, text);
            mContext.startActivity(Intent.createChooser(whatsAppIntent, mContext.getString(R.string.share_with)));

       } catch (NameNotFoundException e) {
            Toast.makeText(mContext, "WhatsApp not Installed", Toast.LENGTH_SHORT).show();
       }
}

回答1:


I don't know if it's possible. It may be that WhatsApp only highlights links with certain protocols (i.e. http, https). In this case, you could go for a work-around if you are depending on this feature:

Let the user share a link to http://your-server.com/forward?type=banner&id=10

On your-server.com, you re-direct the user within the forward file (or via server configuration) to myapp://openapp?type=banner&id=10.

Of course this is not pretty, but browsers can handle these app-links. This will not be pretty, since the user will at first open a browser to process your http link, from which the user will be redirected.




回答2:


Exactly the same problem I'm facing atm. Using Android App-Links seems to be the correct solution. From the docs: https://developer.android.com/training/app-links/verify-site-associations.html#request-verify

The difference between deep links and app links:

  • A deep link is an intent filter that allows users to directly enter a specific activity in your Android app. (You tried to use this one, but Whatsapp doesn't recognize this as a link)
  • An Android App Link is a deep link based on your website URL that has been verified to belong to your website. (This is a normal http(s) link, it should be recognized as thus everywhere)


来源:https://stackoverflow.com/questions/35175055/android-share-deep-link-url-using-whatsapp-and-open-my-app-when-click-deep-link

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!