2014-12-29 59 views
1

我想啓動默認安卓壁紙選擇器。我正在使用:啓動默認Android壁紙選擇器

Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER); 
    startActivity(intent); 

此代碼有效,但它會打開應用程序選擇器。我想直接打開「壁紙」。我的minSdkVersion設置爲16.

回答

0

「默認」您似乎指的是Android操作系統附帶的壁紙應用程序,而不是該設備可能具有的其他壁紙應用程序。您可以強制Android通過在意圖中設置組件來啓動特定活動。

Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER); 
intent.setComponent(...); 
startActivity(intent); 

但是,這是一件有風險的事情。如果您在沒有指定壁紙應用的設備上運行此代碼,則會得到一個ActivityNotFoundException。

你真的需要推出一個特定的壁紙應用程序? Android的核心特點是你說你想做什麼,並找到應用程序來做到這一點。我不知道你的目標是什麼,但另一個可能有用的功能是PackageManager.resolveActivity。您可以使用它在代碼中發現針對特定意圖啓動的應用程序。

http://developer.android.com/reference/android/content/pm/PackageManager.html

希望這有助於。