3 releases
| 0.1.2 | Nov 1, 2024 |
|---|---|
| 0.1.1 | Aug 7, 2024 |
| 0.1.0 | May 22, 2024 |
#6 in #robius
343 downloads per month
Used in 2 crates
(via waterui)
18KB
328 lines
robius-open
This crate provides easy Rust interfaces to open URIs across multiple platforms, including:
- macOS (via
NSWorkspace) - Android (via
android/content/Intent) - Linux (via
xdg-open) - Windows (via
start) - iOS (via
UIApplication)
URIs take many different forms: URLs (http://), tel:, mailto:, file://, and more (see the official list of schemes).
Examples
use robius_open::Uri;
Uri::new("tel:+61 123 456 789")
.open()
.expect("failed to open telephone URI");
use robius_open::Uri;
Uri::new("http://www.google.com")
.open()
.expect("failed to open URL");
Android usage
To use this crate on Android, you must add the following to your app manifest:
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"
tools:ignore="QueryAllPackagesPermission" />
<queries>
<intent>
<action android:name="android.intent.action.MAIN" />
</intent>
</queries>
or alternatively, disable the android-result feature.
However, disabling this feature will make Uri::open() always return Ok, regardless of whether the URI was successfully opened.
Dependencies
~0–43MB
~570K SLoC