我正在开发一个应用程序,我使用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
启动应用。但我想将应用程序的详细信息发送到另一个类,从那里开始,而不是从这个类开始。然后我希望保存结果,但稍后点击另一个应用程序即可更改。
有没有办法做到这一点?
答案 0 :(得分:1)
如果您只想从列表中选择应用并使用单独的按钮单击启动它,那么如何将activity.applicationInfo.packageName和activity.name存储到 SharedPreferences < / strong>一旦选择了列表项。如果用户从列表中选择其他项目,则会覆盖 SharedPreferences 参数。
单击开始按钮时,请阅读这些参数并启动应用程序。
答案 1 :(得分:0)
如何绑定到服务,向该服务发送消息,该服务将启动该活动? 或者注册广播接收器,向所述接收者发送意图,将所请求的应用作为额外信息,并让广播接收者完成工作?