我正在尝试开发一个自定义启动器,它将包含我安装的应用程序的快捷方式(甚至是apk文件).我可以在应用程序外部创建一个快捷方式,我需要做的是在我的启动器活动中创建它.我怎样才能做到这一点?
adminActivity.java(此活动包含一个能够从设备创建已安装应用程序快捷方式的方法)
private boolean installUninstall_ShortCut(Context context, String app@R_403_6889@, boolean isTrue) { boolean flag =false ; int app_ID=-1; PackageManager pm = context.getPackageManager(); Intent i = new Intent(Intent.ACTION_MAIN); i.addcategory(Intent.category_LAUNCHER); List<ResolveInfo> res = pm.queryIntentActivitIEs( i,0); for(int k=0; k<res.size(); k++) { if(res.get(k).activityInfo.loadLabel(pm).toString().equals(app@R_403_6889@)){ flag = true; app_ID = k; break; } } if(flag) { ActivityInfo ai = res.get(app_ID).activityInfo; Intent shortcutIntent = new Intent(Intent.ACTION_MAIN); shortcutIntent.setClass@R_403_6889@(ai.package@R_403_6889@, ai.@R_403_6889@); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_top); Intent intent = new Intent(); intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); intent.putExtra(Intent.EXTRA_SHORTCUT_@R_403_6889@, app@R_403_6889@); intent.putExtra("duplicate", false); if(isTrue) { intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.drawable.ic_launcher)); intent.setAction("com.androID.launcher.action.INSTALL_SHORTCUT"); } else { intent.setAction("com.androID.launcher.action.UNINSTALL_SHORTCUT"); } context.sendbroadcast(intent); } else System.out.println("applicaton not found"); return true;}
activity_launcher.xml(这是Launcher Activity的布局,快捷方式将在其中.我真的不知道如何在此活动中创建创建的快捷方式)
<relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:background="@drawable/plain_without_logo" tools:context=".S_2nd_MainActivity" ><GrIDVIEw androID:ID="@+ID/grID_app" androID:layout_wIDth="match_parent" androID:layout_height="wrap_content" androID:columnWIDth="80dp" androID:gravity="center" androID:horizontalSpacing="15dp" androID:numColumns="auto_fit" androID:padding="10dp" androID:stretchMode="columnWIDth" androID:verticalSpacing="15dp" />
解决方法:
你正在创建的不是像主屏幕那样的启动器,它只是一个应用程序.启动器类别是指所有应用程序抽屉中列出的活动.我不认为应用程序可以添加自己的快捷方式,否则垃圾邮件可能会像这样继续将其图标添加到主屏幕并使每个用户烦恼.
另外installUninstall_ShortCut不是我们用Java命名的东西!实际上它与我遇到过的任何命名约定都不符
如果您想模仿类似添加快捷方式的功能,那么您可以获取网格视图并在其上调用addVIEw
总结以上是内存溢出为你收集整理的在Android中的自定义启动器中创建应用程序快捷方式全部内容,希望文章能够帮你解决在Android中的自定义启动器中创建应用程序快捷方式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)