获取错误:当我点击android App

时间:2018-06-12 16:40:28

标签: java android

我使用主要活动

中的代码在主屏幕上创建了Android应用程序快捷方式

快捷方式已成功创建,我可以启动该应用程序。

功能也正常工作但是当我点击快捷方式然后收到错误,找不到应用程序。

请查看我的代码并指导我如何解决此问题 这是我的主要活动代码: -

Context context = MainActivity.this;
    SharedPreferences sharedPreferences;
    boolean isAppInstalled = false;

这是我的onCreate代码

sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
        isAppInstalled= sharedPreferences.getBoolean("isAppInstalled", false);
        if(isAppInstalled==false){
            Intent intent1 = new Intent(getApplicationContext(),MainActivity.class);
            intent1.setAction(Intent.ACTION_MAIN);
            Intent intent2 = new Intent();
            intent2.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent1);
            intent2.putExtra(Intent.EXTRA_SHORTCUT_NAME,"My Application");
            intent2.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(getApplicationContext(),R.drawable.ic_launcher));
            intent2.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
            getApplicationContext().sendBroadcast(intent2);
            SharedPreferences.Editor editor = sharedPreferences.edit();
            editor.putBoolean("isAppInstalled",true);
            editor.commit();

        }

1 个答案:

答案 0 :(得分:0)

没有人帮我这个。 好吧,我解决了自己,谢谢大家,这是我的问题

我为我的应用创建了启动活动,说明它将在我的代码中使用的原因 意味着使用SplashActivity更改MainActivity

这是正确的代码

sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
        isAppInstalled= sharedPreferences.getBoolean("isAppInstalled", false);
        if(isAppInstalled==false){
            Intent intent1 = new Intent(getApplicationContext(),SplashActivity.class);
            intent1.setAction(Intent.ACTION_MAIN);
            Intent intent2 = new Intent();
            intent2.putExtra(Intent.EXTRA_SHORTCUT_INTENT, intent1);
            intent2.putExtra(Intent.EXTRA_SHORTCUT_NAME,"My Application");
            intent2.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(getApplicationContext(),R.drawable.ic_launcher));
            intent2.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
            getApplicationContext().sendBroadcast(intent2);
            SharedPreferences.Editor editor = sharedPreferences.edit();
            editor.putBoolean("isAppInstalled",true);
            editor.commit();

        }