私はアンドロイドホームウィジェットに取り組んでいます。ボタン クリックでコール インテントを開始すると (つまり、ウィジェットのボタンをクリックして開始したアクティビティで)、コールが終了した後、ウィジェットのボタンが機能しません。
ボタンをクリックするとボタンの背景が変わるので、ウィジェットはクラッシュしません。機能しますが、私が思うインテントをロードしません。また、この問題に関するログ レコードはありません。
私は次のように電話をかけ始めます。
Intent callIntent=new Intent();
callIntent.setAction(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:"+phone));
startActivity(callIntent);
その後、活動を終了します。アクティビティをもう一度終了しないと機能しますが、アクティビティを終了する必要があります。
編集:
次の問題はランダムに発生しており、通話後に画面が真っ暗になることがあります。ホームボタンを押すと開き、ウィジェットボタンは機能しますが、4〜5秒押すとアクションが実行されますが、画面が黒くならず、ウィジェットボタンが機能しないことがあります。
編集:
LogCat は、最後のものを除くバージョン エラーでいっぱいです。しかし、それは制御されています。これでバージョンを制御します: if(android.os.Build.VERSION.SDK_INT>=11) ただし、これらのログは引き続き記録されます。しかし、アプリは正常に動作します。
ログ
04-23 23:18:05.715: I/dalvikvm(4300): Could not find method android.appwidget.AppWidgetManager.notifyAppWidgetViewDataChanged, referenced from method org.MyApp.AWidget.AWidgetProvider.UpdateWidget
04-23 23:18:05.715: W/dalvikvm(4300): VFY: unable to resolve virtual method 123: Landroid/appwidget/AppWidgetManager;.notifyAppWidgetViewDataChanged ([II)V
04-23 23:18:05.715: D/dalvikvm(4300): VFY: replacing opcode 0x6e at 0x002a
04-23 23:18:05.723: I/dalvikvm(4300): Could not find method android.appwidget.AppWidgetManager.notifyAppWidgetViewDataChanged, referenced from method org.MyApp.AWidget.AWidgetProvider.onReceive
04-23 23:18:05.723: W/dalvikvm(4300): VFY: unable to resolve virtual method 123: Landroid/appwidget/AppWidgetManager;.notifyAppWidgetViewDataChanged ([II)V
04-23 23:18:05.723: D/dalvikvm(4300): VFY: replacing opcode 0x6e at 0x006e
04-23 23:18:05.727: I/dalvikvm(4300): Could not find method android.appwidget.AppWidgetManager.notifyAppWidgetViewDataChanged, referenced from method org.MyApp.AWidget.AWidgetProvider.onUpdate
04-23 23:18:05.727: W/dalvikvm(4300): VFY: unable to resolve virtual method 123: Landroid/appwidget/AppWidgetManager;.notifyAppWidgetViewDataChanged ([II)V
04-23 23:18:05.727: D/dalvikvm(4300): VFY: replacing opcode 0x6e at 0x0019
04-23 23:18:05.731: W/dalvikvm(4300): Unable to resolve superclass of Lorg/MyApp/AWidget/AWidgetService; (487)
04-23 23:18:05.731: W/dalvikvm(4300): Link of class 'Lorg/MyApp/AWidget/AWidgetService;' failed
04-23 23:18:05.731: E/dalvikvm(4300): Could not find class 'org.MyApp.AWidget.AWidgetService', referenced from method org.MyApp.AWidget.AWidgetProvider.onUpdate
04-23 23:18:05.731: W/dalvikvm(4300): VFY: unable to resolve const-class 612 (Lorg/MyApp/AWidget/AWidgetService;) in Lorg/MyApp/AWidget/AWidgetProvider;
04-23 23:18:05.731: D/dalvikvm(4300): VFY: replacing opcode 0x1c at 0x01ec
04-23 23:18:05.731: D/dalvikvm(4300): VFY: dead code 0x01ee-025e in Lorg/MyApp/AWidget/AWidgetProvider;.onUpdate (Landroid/content/Context;Landroid/appwidget/AppWidgetManager;[I)V
04-23 23:18:08.938: E/dalvikvm(4300): Could not find class 'android.widget.PopupMenu', referenced from method org.MyApp.AWidget.SetRemind.showPopupMenu
04-23 23:18:08.938: W/dalvikvm(4300): VFY: unable to resolve new-instance 482 (Landroid/widget/PopupMenu;) in Lorg/MyApp/AWidget/SetRemind;
04-23 23:18:08.938: D/dalvikvm(4300): VFY: replacing opcode 0x22 at 0x0000
04-23 23:18:08.941: D/dalvikvm(4300): VFY: dead code 0x0002-001d in Lorg/MyApp/AWidget/SetRemind;.showPopupMenu (Landroid/view/View;)V
04-23 23:18:09.184: D/dalvikvm(4300): GC_EXTERNAL_ALLOC freed 92K, 47% free 2874K/5379K, external 2003K/2108K, paused 172ms
04-23 23:18:09.238: D/dalvikvm(4300): GC_EXTERNAL_ALLOC freed 18K, 47% free 2867K/5379K, external 2591K/2934K, paused 22ms
04-23 23:18:09.293: D/dalvikvm(4300): GC_EXTERNAL_ALLOC freed 1K, 47% free 2869K/5379K, external 3134K/3613K, paused 26ms
04-23 23:18:09.469: D/dalvikvm(4300): GC_EXTERNAL_ALLOC freed 28K, 46% free 2932K/5379K, external 4281K/4292K, paused 23ms
04-23 23:18:10.754: D/dalvikvm(4300): GC_EXPLICIT freed 100K, 43% free 3394K/5895K, external 4445K/5380K, paused 26ms
メソッドを別のクラスに移動することで、すべてのバージョン エラーをクリアしました。しかし、それでも同じで、今回はGCエラーが増えています
最新のログ:
04-24 00:41:03.345: D/dalvikvm(6003): GC_EXTERNAL_ALLOC freed 102K, 47% free 2878K/5379K, external 2003K/2108K, paused 31ms
04-24 00:41:03.396: D/dalvikvm(6003): GC_EXTERNAL_ALLOC freed 26K, 47% free 2862K/5379K, external 2591K/2934K, paused 26ms
04-24 00:41:03.450: D/dalvikvm(6003): GC_EXTERNAL_ALLOC freed 1K, 47% free 2865K/5379K, external 3134K/3613K, paused 21ms
04-24 00:41:03.708: D/dalvikvm(6003): GC_EXTERNAL_ALLOC freed 27K, 46% free 2930K/5379K, external 4281K/4292K, paused 61ms
04-24 00:41:05.341: D/dalvikvm(6003): GC_EXPLICIT freed 108K, 43% free 3397K/5895K, external 4445K/5380K, paused 29ms
04-24 00:41:32.685: D/dalvikvm(6316): GC_EXTERNAL_ALLOC freed 87K, 47% free 2866K/5379K, external 2003K/2108K, paused 25ms
04-24 00:41:32.735: D/dalvikvm(6316): GC_EXTERNAL_ALLOC freed 18K, 47% free 2858K/5379K, external 2591K/2934K, paused 21ms
04-24 00:41:32.774: D/dalvikvm(6316): GC_EXTERNAL_ALLOC freed 1K, 47% free 2861K/5379K, external 3134K/3613K, paused 19ms
04-24 00:41:33.024: D/dalvikvm(6316): GC_EXTERNAL_ALLOC freed 30K, 46% free 2927K/5379K, external 4281K/4292K, paused 31ms
04-24 00:41:34.103: D/dalvikvm(6316): GC_EXPLICIT freed 104K, 43% free 3393K/5895K, external 4445K/5380K, paused 24ms
04-24 00:41:35.071: D/dalvikvm(6316): GC_EXPLICIT freed 425K, 46% free 3406K/6279K, external 4068K/5081K, paused 25ms
04-24 00:41:35.923: D/dalvikvm(6316): GC_EXPLICIT freed 417K, 46% free 3413K/6279K, external 4068K/5081K, paused 27ms