将listview的意图发送到另一个活动

时间:2012-03-12 15:29:39

标签: android listview android-intent

我正在开发一个应用程序,我使用PackageManager使用此代码导入设备上的所有软件包名称:

protected void onListItemClick(ListView l, View v, int position, long id) {
    ResolveInfo launchable=adapter.getItem(position);
    ActivityInfo activity=launchable.activityInfo;
    ComponentName name=new ComponentName(activity.applicationInfo.packageName,
                                         activity.name);
    Intent i=new Intent(Intent.ACTION_MAIN);


    i.addCategory(Intent.CATEGORY_LAUNCHER);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
               Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
    i.setComponent(name);

    startActivity(i);    
}

此代码设法从ListView启动应用。但我想将应用程序的详细信息发送到另一个类,从那里开始,而不是从这个类开始。然后我希望保存结果,但稍后点击另一个应用程序即可更改。

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:1)

如果您只想从列表中选择应用并使用单独的按钮单击启动它,那么如何将activity.applicationInfo.packageName和activity.name存储到 SharedPreferences < / strong>一旦选择了列表项。如果用户从列表中选择其他项目,则会覆盖 SharedPreferences 参数。

单击开始按钮时,请阅读这些参数并启动应用程序。

答案 1 :(得分:0)

如何绑定到服务,向该服务发送消息,该服务将启动该活动? 或者注册广播接收器,向所述接收者发送意图,将所请求的应用作为额外信息,并让广播接收者完成工作?