首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android:活动名称字符串中的应用程序名称和图标

Android:活动名称字符串中的应用程序名称和图标
EN

Stack Overflow用户
提问于 2016-05-12 22:18:16
回答 3查看 820关注 0票数 0

我的Android应用程序存储了一些将在稍后发布的外部应用程序的活动名称。

示例:"com.companyname.app.ActivityName“

应用程序名和图标必须从这个字符串中检索。

我正在使用这样的代码:

代码语言:javascript
运行
复制
intent=new Intent("com.companyname.app.ActivityName");
label=packageManager.getApplicationLabel(packageManager.getApplicationInfo(intent.getPackage(),0)).toString();
icon=packageManager.getApplicationIcon(packageManager.getApplicationInfo(intent.getPackage(),0));

但是,这一意图似乎没有得到很好的表达,或者说明是错误的。

如何获得所请求的值?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-12 22:47:16

仅使用活动类名并不足以明确地标识它。您还需要有相应的包名。然后您可以创建一个ComponentName,并创建启动此活动的意图。

代码语言:javascript
运行
复制
Intent intent = new Intent(action).setComponent(new ComponentName(pkg, cls));

使用相同的组件名称和包管理器的getActivityInfo(),您还可以访问ActivityInfo并获取活动本身的标签和图标。

但是在您的示例中,您使用意图(字符串)构造函数来定义要启动的"com.companyname.app.ActivityName"操作。

票数 0
EN

Stack Overflow用户

发布于 2016-05-12 22:33:47

  1. 存储其他包的活动名称是个坏主意。应用程序开发人员可能会发布一个更新版本,该版本不再具有该名称的活动。
  2. 您使用的Intent构造函数设置Intent的操作。它目前没有软件包。

我只会存储目标应用程序的包名,并使用它来获取有关该应用程序的信息。

代码语言:javascript
运行
复制
String packageName = ...;
try {
    String label = packageManager.getApplicationLabel(packageName);
    Drawable icon = packageManager.getApplicationIcon(packageName);
    // etc.
} catch (NameNotFoundException e) {
    Log.e(TAG, "Couldn't get info for package " + packageName);
}

如果您随后需要启动该应用程序,请使用packageManager.getLaunchIntentForPackage(...)获得一个Intent

票数 0
EN

Stack Overflow用户

发布于 2016-05-13 05:57:02

代码语言:javascript
运行
复制
<activity
  android:name=".ui.HomeActivity"
  android:label="@string/title_home_activity"
  android:icon="@drawable/icon">
  <intent-filter android:label="@string/app_name">
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
  </intent-filter>
</activity>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37198383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档