Я немного запутался в классе ComponentName в Android.
Есть разные способы добраться до объекта имени компонента, но я не знаю, когда какой использовать... и почему!
Пример:
- Пакет приложений
de.zordid.sampleapp
- но класс поставщика виджетов
de.zordid.sampleapp.widget.WidgetProvider
С использованием
ComponentName cn = new ComponentName("de.zordid.sampleapp.widget",
"WidgetProvider");
Я получил информацию об этом компоненте: ComponentInfo{de.zordid.sampleapp.widget/WidgetProvider}
, но я не мог использовать это - компонент неизвестен! Но JavaDoc говорит, что я должен указать пакет и класс в этом пакете - и это то, что я сделал, не так ли??
С использованием
ComponentName cn = new ComponentName(context, WidgetProvider.class);
дает ComponentInfo{de.zordid.sampleapp/de.zordid.sampleapp.widget.WidgetProvider}
- и это прекрасно работает!!
Есть даже другой способ получить ComponentName — по контексту и строке. Какой из них следует использовать, где и когда??
Спасибо!