我可以在安装应用程序时自动创建应用程序主页快捷方式而无需启动吗?

时间:2016-09-19 14:37:12

标签: java android homescreen

我刚刚在谷歌商店下载了一个应用程序但尚未运行它。下载进度完成后,它会在我的主屏幕上自动创建应用程序主页快捷方式。 Google商店中的每个应用都会自动执行此操作吗?如果不?我怎样才能做到这一点? 我可以在第一次使用此方法启动应用程序时创建应用程序主页快捷方式:

public void createOrUpdateShortcut() {

appPreferences = PreferenceManager.getDefaultSharedPreferences(this);
isAppInstalled = appPreferences.getBoolean("isAppInstalled", false);

String currentLanguage = Locale.getDefault().getDisplayLanguage();
String previousSetLanguage = appPreferences.getString("phoneLanguage", Locale.getDefault().getDisplayLanguage());

if (!previousSetLanguage.equals(currentLanguage)) {
    shortcutReinstall = true;
}

 if(!isAppInstalled || shortcutReinstall){

    Intent HomeScreenShortCut= new Intent(getApplicationContext(),
            BrowserLauncherActivity.class);

    HomeScreenShortCut.setAction(Intent.ACTION_MAIN);
    HomeScreenShortCut.putExtra("duplicate", false);

    if(shortcutReinstall) {
        Intent removeIntent = new Intent();
        removeIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, HomeScreenShortCut);
        String prevAppName = appPreferences.getString("appName", getString(R.string.app_name));
        removeIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, prevAppName);
        removeIntent.setAction("com.android.launcher.action.UNINSTALL_SHORTCUT"); 
        getApplicationContext().sendBroadcast(removeIntent);
    }

    Intent addIntent = new Intent();
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, HomeScreenShortCut);
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getString(R.string.app_name));
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,
            Intent.ShortcutIconResource.fromContext(getApplicationContext(),
                    R.drawable.ic_launcher));
    addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); 
    getApplicationContext().sendBroadcast(addIntent);


    //Make preference true
    SharedPreferences.Editor editor = appPreferences.edit();
    editor.putBoolean("isAppInstalled", true);
    editor.putString("phoneLanguage", currentLanguage);
    editor.putString("appName", getString(R.string.app_name));
    editor.commit();
}

但我想在安装应用程序时创建应用程序主页快捷方式而不启动,因为有时用户不会立即在谷歌商店打开我的应用程序,他们找到应用程序主页快捷方式,在下载进度完成后打开它。 我有另一个问题。当我第一次使用该代码启动应用程序时,我的主屏幕快捷方式应用程序标题可以更改手机语言更改。但我希望它立即改变而不启动。 我的问题有解决方案吗?提前谢谢。

1 个答案:

答案 0 :(得分:2)

  

但我想在不启动

的情况下安装应用程序时创建应用程序主页快捷方式

一般情况下这是不可能的。在用户启动启动器活动或其他内容使用显式 SELECT id , SUM(X1) as X1 , SUM(X2) as X2 , SUM(X3) as X3 ............ FROM test 启动您的某个组件之前,您的代码都不会运行。