2014-02-20 4 views
2

Я узнал, что код, создающий ярлык на главном экране, работает, но когда я нажимаю его на главном экране, он говорит: приложение не установлено. Некоторая помощь?Ярлык на главном экране приложение не установлено

Мой код:

 Intent shortcutIntent; 
    shortcutIntent = new Intent(); 
    shortcutIntent.setComponent(new ComponentName(
      getApplicationContext().getPackageName(), ".GetQuoteActivity")); 

    shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

    final Intent putShortCutIntent = new Intent(); 
    putShortCutIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, 
      shortcutIntent); 

    // Sets the custom shortcut's title 
    putShortCutIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Get Quote"); 
    putShortCutIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE,Intent.ShortcutIconResource.fromContext(
      GetQuoteActivity.this, R.drawable.ic_launcher)); 
    putShortCutIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); 
    sendBroadcast(putShortCutIntent); 
} 

AndroidManifest:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="com.files.getquote" 
     android:versionCode="1" 
     android:versionName="1.0"> 
    <uses-sdk android:minSdkVersion="7" /> 

      <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT"></uses-permission> 

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > 
     <activity 
      android:name=".GetQuoteActivity" 
      android:theme="@android:style/Theme.NoTitleBar" 
      > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 
</manifest 

ответ

2

2 возможности:

  1. Изменение к этому:

    shortcutIntent.setComponent(new ComponentName(
        getApplicationContext().getPackageName(), GetQuoteActivity.class)); 
    
  2. Используйте этот код, чтобы создать ярлык:

    Intent shortcutIntent = new Intent (this, YourActivity.class);  
    Intent addIntent = new Intent(); 
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); 
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Title"); 
    addIntent.putExtra("duplicate", false); 
    addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.icon)); 
    
    sendBroadcast(addIntent); 
    
+0

Абсолютно идеально я хотел бы дать вам вверх, но не имеют достаточно требует. Так что отметьте как это сделано. :) –

+0

И еще один вопрос, когда я нажимаю на приложение больше времени, когда он всегда показывает название приложения для быстрого доступа, можно показать только 1 раз? –

+1

приложение не установлено, как это исправить? –

Смежные вопросы