Java 安装后应用程序如何打开自定义操作

Java 安装后应用程序如何打开自定义操作,java,android,Java,Android,假设用户想从example.com下载音乐。用户从浏览器进入example.com并单击“下载sample.mp3”。现在,浏览器不再下载sample.mp3,而是下载一个android应用程序。当用户安装应用程序时,应用程序将下载与用户从浏览器中单击的完全相同的“sample.mp3” 那么,我如何制作这样的应用程序呢?注意:我可以使用下载Api在创建应用程序时下载音乐,无需任何视图或任何内容。 但这里的关键挑战是获取用户在浏览器中单击的数据(甚至在我的应用尚未安装时)。它能做到吗 你可以用它

假设用户想从example.com下载音乐。用户从浏览器进入example.com并单击“下载sample.mp3”。现在,浏览器不再下载sample.mp3,而是下载一个android应用程序。当用户安装应用程序时,应用程序将下载与用户从浏览器中单击的完全相同的“sample.mp3”

那么,我如何制作这样的应用程序呢?注意:我可以使用下载Api在创建应用程序时下载音乐,无需任何视图或任何内容。 但这里的关键挑战是获取用户在浏览器中单击的数据(甚至在我的应用尚未安装时)。它能做到吗

你可以用它

你可以通过链接传递songId,google play将在安装后将该链接传递到应用程序中。在那里,您可以提取songId并开始下载歌曲

动态链接的另一个优势是,google play将检查您的应用程序是否已安装。如果已经安装,则会直接打开应用程序,否则会重定向到应用程序的playstore页面

要在应用程序中提取songId,您可以使用以下代码:

FirebaseDynamicLinks.getInstance()
    .getDynamicLink(getIntent())
    .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
        @Override
        public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
            // Get deep link from result (may be null if no link is found)
            Uri deepLink = null;
            if (pendingDynamicLinkData != null) {
                deepLink = pendingDynamicLinkData.getLink();
            }


            // Handle the deep link. For example, open the linked
            // content, or apply promotional credit to the user's
            // account.
        }
    })
    .addOnFailureListener(this, new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            Log.w(TAG, "getDynamicLink:onFailure", e);
        }
    });
FirebaseDynamicLinks.getInstance()
.getDynamicLink(getIntent())
.addOnSuccessListener(此,新的OnSuccessListener(){
@凌驾
成功时的公共无效(PendingDynamicLinkData PendingDynamicLinkData){
//从结果获取深度链接(如果未找到链接,则可能为空)
urideeplink=null;
如果(PendingDynamicClinkData!=null){
deepLink=pendingDynamicLinkData.getLink();
}
//处理深层链接。例如,打开链接
//内容,或对用户的
//帐户。
}
})
.addOnFailureListener(此,新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Log.w(标签“getDynamicLink:onFailure”,e);
}
});

不清楚您在问什么。你能详细解释一下吗?假设,我想从example.com下载一首名为“Baby.mp3”的歌曲,但当我点击下载页面上的歌曲下载按钮时,它开始下载android应用程序。然后,我在手机上安装了这个应用程序。但是,事实是,当我第一次打开应用程序时,它开始像web浏览器一样在应用程序上下载名为“Baby.mp3”的歌曲。好吧,你只需要创建一个应用程序,从启动的第一个活动的
onCreate()
点击下载API,在清单xml中注册。这可能与安装referer有关,您可以在google play应用程序的下载url中添加一个GET param(referer),该url将在安装时传输到应用程序:但是,我如何获取用户数据,例如他/她试图从example.com下载的文件名?