Android 시작 바로 가기

1639 단어
최근에 앱에서 다른 앱을 시작하고 싶은 단축키(앱을 시작하는 것이 아니라 녹색 수호중처럼 화면을 끄고 쉬는 단축키를 시작하고 싶다)
인터넷에서 많은 글을 찾았는데 대부분이 단축키를 어떻게 설정하는지, 코드로 어떻게 시작하는지 말하지 않고 약간 뒤척였다.
방법은 다음과 같다.
//         
 Intent shortcutsIntent = new Intent(Intent.ACTION_CREATE_SHORTCUT);
        List shortcuts = getPackageManager().queryIntentActivities(
                shortcutsIntent, 0);
        for (ResolveInfo resolveInfo : shortcuts) {
            String name = resolveInfo.activityInfo.applicationInfo.packageName;
            String activityName = resolveInfo.activityInfo.name;
            String label=resolveInfo.activityInfo.applicationInfo.name;
            int flags=resolveInfo.activityInfo.flags;
            Log.i(TAG, "updatePackages: "+name+" "+activityName+" "+flags+" "+label);
        }

//      
        ActivityInfo ai=shortcuts.get(7).activityInfo;
        String pkgName=ai.applicationInfo.packageName;
        String activityName=ai.name;
        int flag=ai.flags;
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.setClassName(pkgName,
                activityName);
   
        intent.addFlags(flag);
        startActivity(intent);

//    icon    
 Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.setClassName(pkgName,
                activityName);
        intent.addFlags(flag);
        try {
            Drawable dw=pm.getActivityIcon(intent);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }

이곳에서 구덩이를 밟았다. 만약에 휴대전화 안에'냉장고'같은 앱이 있으면 앱을 사용하지 않으면 앱이나 단축키를 열 수 없다.

좋은 웹페이지 즐겨찾기