Android第三方跳转到自己的APP

本文介绍了如何通过三种方式实现第三方应用程序的调用:在应用内部使用Intent启动;利用WebView加载特定链接并处理;以及直接通过浏览器打开的方式。每种方法都提供了详细的步骤和示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第三方app进入

首先在自己的APP中 AndroidMnifest.xml

<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="scheme_xxx"
        android:host="host_xxx"
        android:path="/path_xxx" />
</intent-filter>

1.在应用内通过Intent打开:

public void startActivity(){

String packageName = "要打开的App的包名";

String uri = String.format("scheme_xxx://host_xxx/path_xxx?packageName=%s",packageName); 

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));  

intent.addCategory(Intent.CATEGORY_DEFAULT);  

PackageManager packageManager = getPackageManager();  

List activities = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);  

boolean isIntentSafe = activities.size() > 0;  

    if (isIntentSafe) {         

        startActivity(intent);    

     }  

}

2.通过使用webview打开:

在xml中使用<a href=scheme_xxx://host_xxx/path_xxx?packageName=包名">点击按钮</a>

如果mWebView.setWebViewClient();

设置了此函数,则不能通过a链接自动打开,只能通过拦截链接再使用Intent跳转。

mWebView.setWebViewClient(new WebViewClient(){  

@Override  

public boolean shouldOverrideUrlLoading(WebView view, String url) {  

Log.d(TAG, "shouldOverrideUrlLoading: " + url);  

Intent intent = null;  

try {  

intent = Intent.parseUri(url,Intent.URI_INTENT_SCHEME);  

} catch (URISyntaxException e) {  

e.printStackTrace();  

return false;  

}  

startActivity(intent);  

return true;  

}  

});

3.在浏览器打开:地址:scheme_xxx://host_xxx/path_xxx?packageName=包名

注:只能在终端自带浏览器或者Chrome 浏览器打开,其他浏览器均打开不开

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值