我使用主要活动
中的代码在主屏幕上创建了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();
}
答案 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();
}