2013-03-04 26 views
0

我需要在appwidget上使用onactivityresult,但我該如何使用它?它不叫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()'。 – 2013-03-04 12:58:03

回答

0

onActivityResult()僅適用於Activity及其子類。這是因爲startActivityForResult()僅適用於Activity及其子類。

+0

那麼爲什麼可以阻止呢? – HiTaX 2013-03-04 13:01:35

+0

@ user2130760:你不能。你的代碼顯然不會編譯。除了'@ Override'將會失敗之外,你正在定義一個返回'boolean'的方法,但是你缺少一個'return'語句,這樣也會引發一個編譯錯誤。 – CommonsWare 2013-03-04 13:04:09

+0

所以如何我可以使用小部件上的手機聯繫人 如何我可以在小部件中使用聯繫人號碼與我的代碼一樣的活動 – HiTaX 2013-03-04 13:08:07

相關問題