2013-03-04 2 views
0

Мне нужно использовать onactivityresult на appwidget, но как я могу его использовать? его не называемыйappwidgetprovider может реализовать onactivityresult как его использовать?

открытый класс MainActivity расширяет AppWidgetProvider реализует OnActivityResultListener { Контекстный контекст;

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, 
     int[] appWidgetIds) { 
    super.onUpdate(context, appWidgetManager, appWidgetIds); 
    this.context = context; 
    for (int i = 0; i < appWidgetIds.length; i++) { 
     int appWidgetId = appWidgetIds[i]; 
     Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
     intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE); 
     PendingIntent pending = PendingIntent.getActivity(context, 0, intent, PendingIntent.PARCELABLE_WRITE_RETURN_VALUE); 
     RemoteViews views = new RemoteViews(context.getPackageName(), 
       R.layout.activity_main); 

     views.setOnClickPendingIntent(R.id.imageButton1, pending); 
     appWidgetManager.updateAppWidget(appWidgetId, views); 
    } 

} 
@Override 
public void onReceive(Context context, Intent intent) { 
    super.onReceive(context, intent); 
} 

@Override 
public boolean onActivityResult(int requestCode, int resultCode, Intent data) {} 
+0

В этом коде нет 'startActivityForResult()'. –

ответ

0

onActivityResult() доступна только на Activity и его подклассов. Это связано с тем, что startActivityForResult() доступен только на Activity и его подклассах.

+0

, так зачем импиментировать? – HiTaX

+0

@ user2130760: Вы не можете. Ваш код явно не будет компилироваться. Помимо того, что '@ Override' завершится с ошибкой, вы определяете метод, который возвращает' boolean', но вам не нужен оператор 'return', поэтому он также вызовет ошибку компилятора. – CommonsWare

+0

, так как я могу использовать контакт телефона на виджетах как я могу использовать контактный номер в виджет без активности, например, мой код – HiTaX

Смежные вопросы