mirror of
https://git.sr.ht/~eliasnaur/gio-cmd
synced 2026-07-06 01:45:32 +00:00
gogio: [Android] add support for querying apps
Previously, it was impossible to identify if a specific app was installed on the user device. It was also impossible to launch a external app from Gio using Intent. Now, you can use `-queries` with a comma separed package names, like `com.another.app`. That allows you to launch Intent to `com.another.app`. Signed-off-by: inkeliz <inkeliz@inkeliz.com>
This commit is contained in:
+27
-18
@@ -40,15 +40,16 @@ type errWriter struct {
|
||||
var exeSuffix string
|
||||
|
||||
type manifestData struct {
|
||||
AppID string
|
||||
Version Semver
|
||||
MinSDK int
|
||||
TargetSDK int
|
||||
Permissions []string
|
||||
Features []string
|
||||
IconSnip string
|
||||
AppName string
|
||||
Schemes []string
|
||||
AppID string
|
||||
Version Semver
|
||||
MinSDK int
|
||||
TargetSDK int
|
||||
Permissions []string
|
||||
Features []string
|
||||
IconSnip string
|
||||
AppName string
|
||||
Schemes []string
|
||||
PackageQueries []string
|
||||
}
|
||||
|
||||
const (
|
||||
@@ -435,15 +436,16 @@ func exeAndroid(tmpDir string, tools *androidTools, bi *buildInfo, extraJars, pe
|
||||
permissions, features := getPermissions(perms)
|
||||
appName := UppercaseName(bi.name)
|
||||
manifestSrc := manifestData{
|
||||
AppID: bi.appID,
|
||||
Version: bi.version,
|
||||
MinSDK: minSDK,
|
||||
TargetSDK: targetSDK,
|
||||
Permissions: permissions,
|
||||
Features: features,
|
||||
IconSnip: iconSnip,
|
||||
AppName: appName,
|
||||
Schemes: bi.schemes,
|
||||
AppID: bi.appID,
|
||||
Version: bi.version,
|
||||
MinSDK: minSDK,
|
||||
TargetSDK: targetSDK,
|
||||
Permissions: permissions,
|
||||
Features: features,
|
||||
IconSnip: iconSnip,
|
||||
AppName: appName,
|
||||
Schemes: bi.schemes,
|
||||
PackageQueries: bi.packageQueries,
|
||||
}
|
||||
tmpl, err := template.New("test").Parse(
|
||||
`<?xml version="1.0" encoding="utf-8"?>
|
||||
@@ -451,6 +453,13 @@ func exeAndroid(tmpDir string, tools *androidTools, bi *buildInfo, extraJars, pe
|
||||
package="{{.AppID}}"
|
||||
android:versionCode="{{.Version.VersionCode}}"
|
||||
android:versionName="{{.Version}}">
|
||||
{{if .PackageQueries}}
|
||||
<queries>
|
||||
{{range .PackageQueries}}
|
||||
<package android:name="{{.}}" />
|
||||
{{end}}
|
||||
</queries>
|
||||
{{end}}
|
||||
<uses-sdk android:minSdkVersion="{{.MinSDK}}" android:targetSdkVersion="{{.TargetSDK}}" />
|
||||
{{range .Permissions}} <uses-permission android:name="{{.}}"/>
|
||||
{{end}}{{range .Features}} <uses-feature android:{{.}} android:required="false"/>
|
||||
|
||||
Reference in New Issue
Block a user