diff --git a/winboll/build.properties b/winboll/build.properties index 16a6063..8ccffac 100644 --- a/winboll/build.properties +++ b/winboll/build.properties @@ -1,8 +1,8 @@ #Created by .winboll/winboll_app_build.gradle -#Wed May 06 11:08:36 CST 2026 +#Wed May 06 11:16:28 CST 2026 stageCount=27 libraryProject= baseVersion=15.11 publishVersion=15.11.26 -buildCount=16 +buildCount=18 baseBetaVersion=15.11.27 diff --git a/winboll/src/main/AndroidManifest.xml b/winboll/src/main/AndroidManifest.xml index 2f5cc47..9c136b1 100644 --- a/winboll/src/main/AndroidManifest.xml +++ b/winboll/src/main/AndroidManifest.xml @@ -37,7 +37,16 @@ + android:exported="true" + android:launchMode="singleTask"> + + + + + + + + diff --git a/winboll/src/main/java/cc/winboll/studio/winboll/MainActivity.java b/winboll/src/main/java/cc/winboll/studio/winboll/MainActivity.java index 6f3f370..f746772 100644 --- a/winboll/src/main/java/cc/winboll/studio/winboll/MainActivity.java +++ b/winboll/src/main/java/cc/winboll/studio/winboll/MainActivity.java @@ -1,6 +1,7 @@ package cc.winboll.studio.winboll; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.os.Handler; import android.os.Message; @@ -44,6 +45,25 @@ public class MainActivity extends DrawerFragmentActivity { addFragment(mBrowserFragment); } showFragment(mBrowserFragment); + handleExternalUrl(getIntent()); + } + + @Override + protected void onNewIntent(Intent intent) { + super.onNewIntent(intent); + handleExternalUrl(intent); + } + + private void handleExternalUrl(Intent intent) { + if (intent != null && Intent.ACTION_VIEW.equals(intent.getAction())) { + Uri uri = intent.getData(); + if (uri != null && mBrowserFragment != null && mBrowserFragment.getBrowserHandler() != null) { + Message msg = Message.obtain(); + msg.what = BrowserFragment.MSG_OPEN_URL; + msg.obj = uri.toString(); + mBrowserFragment.getBrowserHandler().sendMessage(msg); + } + } } public static void sendMessage(Message msg) { diff --git a/winboll/src/main/java/cc/winboll/studio/winboll/fragments/BrowserFragment.java b/winboll/src/main/java/cc/winboll/studio/winboll/fragments/BrowserFragment.java index ee58f42..890824a 100644 --- a/winboll/src/main/java/cc/winboll/studio/winboll/fragments/BrowserFragment.java +++ b/winboll/src/main/java/cc/winboll/studio/winboll/fragments/BrowserFragment.java @@ -44,7 +44,9 @@ public class BrowserFragment extends Fragment implements View.OnClickListener, W // 消息标识:跳转首页(winboll.cc) public static final int MSG_HOMEPAGE = 1001; // 跳转到历史记录位置 - public static final int MSG_HISTORY_POSITION = 1002; + public static final int MSG_HISTORY_POSITION = 1002; + // 打开外部应用传入的 URL + public static final int MSG_OPEN_URL = 1003; // 自定义Handler(接收应用内其他页面发送的消息) private Handler mBrowserHandler; @@ -148,6 +150,13 @@ public class BrowserFragment extends Fragment implements View.OnClickListener, W //showToast("已跳转至" + historyUrl); } break; + case MSG_OPEN_URL: + String openUrl = (String) msg.obj; + if (openUrl != null && !openUrl.isEmpty()) { + mWinBoLLView.loadUrlSafe(openUrl); + mEtUrl.setText(openUrl); + } + break; default: break; }