ウィジェット
コンテンツ
概要
外部メモリにウィジェットをインストールさせない
ウィジェットごとに設定を持たせる
リサイズ未対応のOSでリサイズ版ウィジェットを表示させない
ウィジェットがロック画面に設置されているか判定する
/** [API 16] AppWidgetManager.OPTION_APPWIDGET_HOST_CATEGORY */
private static final String OPTION_APPWIDGET_HOST_CATEGORY = "appWidgetCategory";
/** [API 17] AppWidgetProviderInfo.WIDGET_CATEGORY_KEYGUARD */
private static final int WIDGET_CATEGORY_KEYGUARD = 2;
/**
* ウィジェットがロック画面に設置されているか判定します。<br>
* ロック画面ウィジェットに対応していないOSの場合は常にfalseが返ります。
*
* @param manager
* AppWidgetManager
* @param widgetId
* ウィジェットID
* @return ロック画面に設置されている場合はtrue、それ以外の場合はfalse
*/
public static boolean isOnLockScreen(AppWidgetManager manager, int widgetId)
{
try
{
Method method = manager.getClass().getMethod("getAppWidgetOptions", int.class);
Bundle bundle = (Bundle)method.invoke(manager, widgetId);
int category = bundle.getInt(OPTION_APPWIDGET_HOST_CATEGORY, -1);
if(category == WIDGET_CATEGORY_KEYGUARD)
{
return true;
}
}
catch(Exception e)
{
}
return false;
}
コメント
最終更新:2014年07月03日 02:16