2016-12-02 1 views
0

Ich habe ein Widget erstellt, und beim Klicken auf eine Aktivität gestartet werden muss, folgte ich die Antwort auf diese Frage [Clickable widgets in android].Wie klickbare Widget [Android]

jedoch auf Klick bin ich nicht in der Lage eine Antwort zu bekommen, hier ist der Java-Code zu meinem widget:

Widget.java

public class Widget extends AppWidgetProvider 
{ 
    private static String YOUR_AWESOME_ACTION = "YourAwesomeAction"; 
    public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) 
    { 
     Intent intent = new Intent(context, HomeTeamSelector.class); 
     intent.setAction(YOUR_AWESOME_ACTION); 
     PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0); 
     RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); 
     views.setOnClickPendingIntent(R.id.widgetLayout, pendingIntent); 

    } 

    @Override 
    public void onReceive(Context context, Intent intent) 
    { 
     super.onReceive(context, intent); 
     if (intent.getAction().equals(YOUR_AWESOME_ACTION)) 
     { 
      Intent x = new Intent(context,HomeTeamSelector.class); 
      context.startActivity(x); 
     } 
    } 
} 

Dies ist der Code in die XML-Datei:

widget.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:id="@+id/widgetLayout" 
    android:layout_height="match_parent" 
    android:transitionGroup="true"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="@string/app_name_extra" 
     android:id="@+id/textView" 
     android:layout_centerInParent="true" 
     android:textColor="@color/colorPrimary" 
     android:textSize="30sp" /> 


</RelativeLayout> 

Das Widget ist gerendert, aber ich kann keine Antwort auf Klick bekommen, was verursacht dies möglicherweise, und wie zu beheben?

Antwort

1

versuchen AppWidgetProvider Empfänger in AndroidMenifest.xml wie

<receiver 
     android:name=".Widget" 
     android:label="@string/widget"> 
     <intent-filter> 
      <action android:name="android.appwidget.action.APPWIDGET_UPDATE" /> 
     </intent-filter> 

     <meta-data 
      android:name="android.appwidget.provider" 
      android:resource="@xml/widget" /> 
    </receiver> 
+0

Das ist die für alle Widgets, und wie funktioniert es löst das Problem hinzufügen? – OBX