diff --git a/app/src/main/java/com/github/catvod/spider/Bili.java b/app/src/main/java/com/github/catvod/spider/Bili.java index d8b11d99..feb61ce0 100644 --- a/app/src/main/java/com/github/catvod/spider/Bili.java +++ b/app/src/main/java/com/github/catvod/spider/Bili.java @@ -260,15 +260,27 @@ public class Bili extends Spider { private void getQRCode() { String json = OkHttp.string("https://passport.bilibili.com/x/passport-login/web/qrcode/generate?source=main-mini"); Data data = Resp.objectFrom(json).getData(); - Init.run(() -> openApp(data)); + Init.run(() -> openApp1(data)); } - private void openApp(Data data) { + private Intent getIntent(String pkgName, Data data) { + Intent intent = new Intent(Intent.ACTION_VIEW); + intent.setClassName(pkgName, "tv.danmaku.bili.ui.intent.IntentHandlerActivity"); + intent.setData(Uri.parse(data.getUrl())); + return intent; + } + + private void openApp1(Data data) { try { - Intent intent = new Intent(Intent.ACTION_VIEW); - intent.setClassName("tv.danmaku.bili", "tv.danmaku.bili.ui.intent.IntentHandlerActivity"); - intent.setData(Uri.parse(data.getUrl())); - Init.getActivity().startActivity(intent); + Init.getActivity().startActivity(getIntent("tv.danmaku.bili", data)); + } catch (Exception e) { + openApp2(data); + } + } + + private void openApp2(Data data) { + try { + Init.getActivity().startActivity(getIntent("com.bilibili.app.in", data)); } catch (Exception e) { showQRCode(data); } finally { diff --git a/jar/custom_spider.jar b/jar/custom_spider.jar index 5783ef6d..4fa88ffe 100644 Binary files a/jar/custom_spider.jar and b/jar/custom_spider.jar differ diff --git a/jar/custom_spider.jar.md5 b/jar/custom_spider.jar.md5 index 1c077537..06714263 100644 --- a/jar/custom_spider.jar.md5 +++ b/jar/custom_spider.jar.md5 @@ -1 +1 @@ -b08f51800918ae5534efeb090f79fe28 +5f4b100204cbb142c56abedc786f613e