如何将用户重定向到 Android 应用程序中的默认启动器?

2024-02-08

自从我尝试弄清楚如何开发一个使用 NFC 身份验证的 Android 解锁屏幕应用程序以来,已经有很长一段时间了。我正在使用 Nexus S。 经过在互联网上的多次研究,我得出的结论是,目前不支持将锁屏替换为第三方应用程序,我们需要修改平台才能进行像样的实现。

这就是为什么我开发了一个主屏幕应用程序,它给人一种解锁屏幕应用程序的错觉。但我的问题是我想在程序结束时重定向到默认启动器。

我首先尝试使用下面的代码,但问题是我可以在默认主屏幕和新应用程序之间进行选择

Intent goHome = new Intent();
i.setAction("android.intent.action.MAIN");
i.addCategory("android.intent.category.HOME");
startActivity(goHome);

所以我然后尝试使用下面的代码,但它似乎不起作用。

Intent goHome = new Intent(Intent.ACTION_MAIN);
goHome.setClassName("com.android.launcher", "com.android.launcher.Launcher");
startActivity(goHome);

我得到以下 logCat

无法找到显式活动类(com.android.launcher.launcher)

你知道为什么它不起作用吗?这是正确的做法吗?


Use:

    PackageManager pm = getPackageManager();
    Intent i = new Intent("android.intent.action.MAIN");
    i.addCategory("android.intent.category.HOME");
    List<ResolveInfo> lst = pm.queryIntentActivities(i, 0);
    if (lst != null) {
       for (ResolveInfo resolveInfo : lst) {
           try {
           Intent home = new Intent("android.intent.action.MAIN");
           home.addCategory("android.intent.category.HOME");
           home.setClassName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name);
           startActivity(home);
           break;
           } catch (Throwable t) {
               t.printStackTrace();
           }
       }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将用户重定向到 Android 应用程序中的默认启动器? 的相关文章

随机推荐