我想获取packagemanager并在gomobile'bind库项目中使用它的功能getPackageInfo()
。
我怎样才能做到这一点?以下代码无法完全编译,请提供帮助。
/ Users / ***** / go // bin / gomobile:进行构建
-pkgdir = /用户/ ***** / go / pkg / gomobile / pkg_android_386 -tags =“” -i -buildmode = c-shared -o = / var / folders / k0 / 0qkltxj92tx3f8jd8dqdsxp80000gn / T / gomobile-work- 351777472 / android / src / main / jniLibs / x86 / libgojni.so
/var/folders/k0/0qkltxj92tx3f8jd8dqdsxpp80000gn/T/gomobile-work-351777472/androidlib/main.go
失败:退出状态2 Java / android / content / pm / PackageManager
/var/folders/k0/0qkltxj92tx3f8jd8dqdsxpp80000gn/T/gomobile-work-351777472/gen/src/Java/android/content/pm/PackageManager/package.go:125:
语法错误:意外的l,期望使用分号,换行符或)
import (
"Java/android/content"
"Java/android/content/pm"
"fmt"
//"bytes"
)
func Init(baseUrl string, context content.Context) {
pkgName := context.GetPackageName()
var ss interface{} = context.GetPackageManager().(packageManager)
newone, ok := ss.(packageManager)
fmt.Println(newone)
fmt.Println(ok)
fmt.Println(pkgName)
}
最佳答案
我只是更新了gomobile库,一切正常。
该代码将起作用。现在我可以获得PackageManager的实例。但是如何
使用gomobile libray获取一类的 public 属性?pkgName := context.GetPackageName() fmt.Println(pkgName) ss := context.GetPackageManager() lost := PackageManager.Cast(ss)
关于android - gomobile不能使用java函数吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42947205/