2011-08-09 113 views
5

我有創建以下列方式快捷方式的應用程序:快捷方式啓動的活動

Intent shortcutIntent = new Intent(this, MYWEBVIEW.class); 
String fileHtml = trovaHtml(path); 
shortcutIntent.putExtra("appToLaunch", appId); 
shortcutIntent.putExtra("fileHtml", fileHtml); 
shortcutIntent.setAction(Intent.ACTION_VIEW); 

Intent addIntent = new Intent(); 
addIntent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); 
addIntent.putExtra(Intent.EXTRA_SHORTCUT_NAME, dirAppName); 
addIntent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, 
    Intent.ShortcutIconResource.fromContext(this, R.drawable.icon)); 
addIntent.setAction("com.android.launcher.action.INSTALL_SHORTCUT"); 
this.sendBroadcast(addIntent); 

我知道這個代碼已被棄用,但讓我們忘掉它.......

MYWEBVIEW不是我的應用程序的主要活動,是一個打開離線html頁面的webview,並且此html文件的路徑在額外值「fileHtml」內。

當我上的快捷方式點擊我得到這個錯誤:

08-08 14:15:37.907: ERROR/Launcher(165): Launcher does not have the permission to launch Intent { act=android.intent.action.VIEW flg=0x10000000 cmp=market.finestraprincipale/.MyAppActivity bnds=[3,217][77,296] (has extras) }. Make sure to create a MAIN intent-filter for the corresponding activity or use the exported attribute for this activity. tag=ShortcutInfo(title=myFile) intent=Intent { act=android.intent.action.VIEW flg=0x10000000 cmp=market.finestraprincipale/.MYWEBVIEW bnds=[3,217][77,296] (has extras) }

08-08 14:15:37.907: ERROR/Launcher(165): java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.VIEW flg=0x10000000 cmp=market.finestraprincipale/.MYWEBVIEW bnds=[3,217][77,296] (has extras) } from ProcessRecord{405875c8 165:com.android.launcher/10026} (pid=165, uid=10026) requires null

如何解決這些錯誤?有沒有辦法創建同一個應用程序的兩個實例?例如,我在我的應用程序中,我創建了一個快捷方式,我按Home按鈕,以便應用程序進入背景,當我點擊快捷方式時,我開始MYWEBVIEW活動,但在我的應用程序的新實例中...基本上,我可以同時打開更多網頁瀏覽。

回答

7

您是否擁有manifest.xml的以下權限?

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

還看到你嘗試啓動活動已經定義了以下意圖過濾器:

<intent-filter> 
    <action android:name="android.intent.action.MAIN" /> 
</intent-filter> 
+0

是的,我沒有得到創建快捷方式的錯誤,當我點擊快捷方式時得到它......可能會導致它調用一個不是主要的活動..... 。至少我想.. – Sgotenks

+0

嘗試添加''permission.INTERNET''。這可能是快捷方式試圖啓動瀏覽器(因爲您試圖打開一個URL)。您是否按照[建議](http://developer.android.com/resources/tutorials/views/hello-webview.html)中的建議對子類「WebViewClient」類進行了分類? –

+0

是的,我正在做兩個....如果我通過我的應用程序從主要活動衝浪到MYWEBVIEW,一切工作正常,它打開正確的HTML頁面.....但如果我試圖從快捷方式打開它直我得到那個錯誤......可以通過快捷方式打開一個不是主要活動的活動嗎?原因,如果我改變了我的應用程序的主要活動的快捷方式的目標,它的工作原理:(但我需要直接去另一個 – Sgotenks

0

我認爲你必須在你的MYWEBVIEW活動中添加 行動 清單文件。我試試這個,它工作。

相關問題