【问题标题】:Get name of the application from package name - xamarin.android从包名中获取应用程序的名称 - xamarin.android
【发布时间】:2018-03-14 05:19:20
【问题描述】:

我正在开发 xamarin.android 应用程序。我需要从包名称中获取应用程序的标题名称。

例如:

  • 包名-com.google.android.gm
  • 标题名称 - Gmail

试过这个代码。这给了我一个不经意的例外

 string appName = pm.GetApplicationLabel(pm.GetApplicationInfo("com.google.android.gm", PackageInfoFlags.MetaData));

异常 -

Unhandled Exception:

System.NullReferenceException: Object reference not set to an instance of an object.

03-14 10:54:58.122 I/zygote64(15547): Thread[3,tid=15553,WaitingInMainSignalCatcherLoop,Thread*=0x73480c0400,peer=0x1ca00020,"Signal Catcher"]: reacting to signal 3
03-14 10:54:58.123 I/zygote64(15547): 
03-14 10:54:58.258 I/zygote64(15547): Wrote stack traces to '/data/anr/traces.txt'

【问题讨论】:

  • 在此处添加异常详情。
  • System.NullReferenceException:对象引用未设置为对象的实例。
  • 此论坛链接可能对您有所帮助:forums.xamarin.com/discussion/22007/…
  • 没有获得相同应用名称的代码。我需要另一个应用名称
  • 我假设 pm 为空。

标签: c# android xamarin xamarin.android


【解决方案1】:

终于找到原因了。这是完整的代码。

string appName = PackageManager.GetApplicationLabel(PackageManager.GetApplicationInfo("com.google.android.gm", PackageInfoFlags.MetaData));

这会返回“Gmail”

【讨论】:

    猜你喜欢
    • 2012-04-06
    • 1970-01-01
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    相关资源
    最近更新 更多