2012-05-07 5 views
1

J'ai créé un appwidget simple qui montre l'horloge numérique, et j'ai mis un PendingIntent pour cette horloge (c'est-à-dire) lorsque l'utilisateur tape sur le textview un pavé numérique est ouvert. Cela fonctionne parfaitement. Mais quand j'ouvre une application comme Car Home et puis sortir de la maison de voiture fera juste un flash mon écran d'accueil. Et mon widget est maintenant passé à l'état ne répond pas. Je ne sais pas si je me trompe. Au cours des 2 derniers jours, je suis en train de googler pour cela. Quelqu'un s'il vous plaît aidez.appwidget ne répond pas au toucher

code java:

@Override 
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { 
    super.onUpdate(context, appWidgetManager, appWidgetIds); 
    context.startService(new Intent(UpdateService.ACTION_UPDATE)); 
    RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.main); 
    Intent dial = new Intent(); 
    dial.setAction("android.intent.action.DIAL"); 
    PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, dial, 0); 
    remoteViews.setOnClickPendingIntent(R.id.Time, pendingIntent); 
    for (int i = 0; i < appWidgetIds.length; i++) { 
     appWidgetManager.updateAppWidget(appWidgetIds[i], remoteViews); 
    } 
} 

AppwidgetProvider:

<?xml version="1.0" encoding="utf-8"?> 

<appwidget-provider 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:minWidth="150dip" 
    android:minHeight="72dip" 
    android:initialLayout="@layout/main" /> 

main.xml

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:background="#00000000" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" > 

    <RelativeLayout 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerVertical="true" > 
      <TextView 
       android:id="@+id/Time" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:singleLine="true" 
       android:ellipsize="none" 
       android:textSize="56sp" 
       android:textAppearance="?android:attr/textAppearanceMedium" 
       android:shadowColor="#C0000000" 
       android:shadowDx="0" 
       android:shadowDy="0" 
       android:shadowRadius="3.0" /> 
    </RelativeLayout> 

</FrameLayout> 

Répondre

1

S'il vous plaît essayer AppwidgetManager.updatewidget() dans onupdate de votre méthode AppWidgetManager.