2014-02-27 79 views
2

在我的應用我創建一個主屏幕快捷方式,使用下面的代碼我的應用程序:無法創建主屏幕快捷方式

  HomeScreenShortCut.setAction(Intent.ACTION_MAIN); 
      HomeScreenShortCut.putExtra("duplicate", false); 
      //shortcutIntent is added with addIntent 
      Intent addIntent = new Intent(); 
      addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, HomeScreenShortCut); 
      addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, "Handbook Manual"); 
      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); 

這是工作的罰款和快捷是越來越創建。但是,而不是硬編碼快捷方式的名稱,我想從字符串的文件給它這樣的:

  addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, R.string.app_name); 

但此更改快捷方式沒有得到創建這實在是奇怪了。我需要這個,因爲我的應用程序支持多種語言,甚至應用程序的名稱基於語言。我正在測試三星Galaxy S3。

請幫助..

+0

你嘗試過使用'getString(R.string.app_name)'嗎?請記住'R.string.app_name'是一個整數,而不是一個字符串。 – Merlevede

+0

試試這個'youractivity.this.getString(R.string.app_name)' –

+0

@ Merlevede ..你是對的。使用getString解決了這個問題。我應該知道的。這很簡單:)。無論如何,你可以移動你的評論來回答,我會接受它。非常感謝 – Sushil

回答

1

addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, getResources().getString(R.string.app_name)); 

您是否嘗試過使用getString(R.string.app_name)?請記住R.string.app_name是一個整數,而不是一個字符串。

1

嗨嘗試使用該編碼的應用,而這

addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, R.string.app_name); 

我希望這會幫助ü

相關問題