2011-07-21 70 views
1

我也登陸的情況下,我想從我的應用程序(X)開始安裝第三方應用程序(可以說是應用程序Y),我不想在Android主菜單上創建應用程序Y圖標。無法隱藏Android菜單中的應用程序圖標?

我已經嘗試過下面的代碼,但仍然有應用程序Y的圖標在應用程序Y安裝成功後在主菜單中創建。請記住,我無法更改App Y的清單,因爲它是第三方應用程序。

我也曾嘗試在下面的鏈接的建議,但他們並沒有解決我的問題:

How to hide application icon from the Android Desktop? ++++++++++

File file = new File("/sdcard/MyApps/App Y.apk"); 

Intent intent = new Intent(); 
Uri uri = Uri.fromFile(file); 

intent.setAction(android.content.Intent.ACTION_VIEW); 

intent.removeCategory("android.intent.category.LAUNCHER"); 

intent.setDataAndType(Uri.parse(uri.toString()), 
"application/vnd.android.package-archive"); 

startActivity(intent); 

+++++++ +++

請讓我知道您對此的建議/意見。

謝謝

回答

0

你只是修改你的意圖。我不認爲有可能完成你想要完成的任務。爲什麼不讓用戶自己啓動其他應用程序?

+0

@羅尼,謝謝大家的支持。所以這似乎是不可能在android中。所以,想想更多關於這方面的內容,還有其他一些限制用戶從主菜單打開App Y的方法。 – Mike

+0

總之,沒有。你是否有機會嘗試簡化另一個不希望別人知道你正在包裝的應用程序?再次,我很想聽聽你爲什麼試圖如此積極地防止這樣的事情...... – Travis

+0

這樣做的背後原因是我的整個應用程序的想法,所以現在不能真正分享這個。在未來,一旦我完成了這一點,我一定會讓你知道。再次感謝您的幫助和支持...... – Mike

3

要做到這一點,唯一的方法是刪除包的AndroidManifest.xml文件中定義的IntentFilter:作爲第三方安裝程序沒有辦法做到這一點。

1

在大多數情況下,答案是否定的,你不能....

這取決於什麼樣的應用程序的「應用程序Y」是。對於例如如果App Y是一個庫,它將包含在您的應用程序中。 Android網站上提供了一些示例應用程序,例如: 「軟鍵盤」

http://developer.android.com/resources/samples/SoftKeyboard/index.html

那些實際上未作爲應用程序安裝「服務」。如果App Y是「普通」應用程序,它將自行安裝,因爲這是Android的行爲。

致以良好的祝福和進一步發展。

-1

你可以虛張聲勢,只是創建一個圖像0不透明度和最小可能的大小,然後用戶將無法看到該應用程序。

0
// Hide Application Icon 

try{ 
    PackageManager p = getPackageManager(); 
    p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 
}catch (Exception e) { 
    e.printStackTrace(); 
} 


// UnHide Application Icon 


PackageManager p = getPackageManager(); 
ComponentName componentName = new ComponentName("com.example.removeicon","com.example.removeicon.LauncherActivity"); 
        p.setComponentEnabledSetting(componentName , PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 
0

是的,你可以隱藏你的應用程序圖標,但只有Root權限的裝置或系統簽署應用.....該解決方案將是使用shell命令pm disable com.yourapppackagename首先禁用您的應用程序,然後啓用回用pm enable com.yourapppackagename這將首先禁用您的應用程序從設備中刪除應用程序圖標,然後啓用您的應用程序將只帶回設備菜單中的應用程序圖標,而不是在主屏幕上。 如果你不想讓你的應用程序圖標在設備中的任何地方,那麼只是不啓用它,但那麼你的應用程序將不會被用作其隱藏的現在,直到你啓用它後才能使用它。

相關問題