私はアンドロイドappwidgetで作業しています。すべてのアンドロイドバージョンで正常に動作しました(エミュレータ1.5,1.6,2.3)。 2.1(物理デバイス、LG GT540は2.1にアップグレードされました)。私は2.1のOSを搭載したSamsung GT I5801を新鮮な状態でテストしたが、それはおそらく特定のリビジョン2.1バージョンが古くなっている(またはサムスン自身が修正を追加した)からだ。私がしようとすると Android:NPE while trying to activityForResult with ACTION_APPWIDGET_PICK intentAndroid appwidgetがプロセスcom.android.settingsをクラッシュし、アンドロイドv2.1で回避する必要があります
そしてこれは、同じ問題を議論古いスレッドです:ところで
は、この私が思うには、私が言及しています正確なバグの修正です「強制CLに
The application Settings (process com.android.settings) has stopped unexpectedly. Please try again.
:ホームスクリーン上のウィジェットをロードするために、私は次のエラーを取得する(実際には、私は、「ウィジェット」ボタンをクリックしたときに起こります) ose "ボタンを押します。
以下のlogcat出力を参照してください。ところで、これは私のappwidgetがまだインストールされていないときには起こらず、2.1エミュレータでも起こります。
私はどこでも検索しており、これに言及する人がたくさんいます。開発者だが、主にユーザーであり、一般的な結論は、Android 2.1 OSのバグだということです。たとえば、Google独自のマップappwidgetでもこのクラッシュが発生します。
2.1でうまく動作するappwidgetsがあることは知っています。だから、回避策が必要です。私はちょうど何がわからない。 appwidgetが複数のウィジェットを必要とするため、私はここに提案を読みました(申し訳ありませんがリンクを見つけることができません)。 Mineは実際には2つのtextviewsを持っていますが、私はtextviewとimage buttonを1つ試してみました。どちらも動作しません。
私は当然ながら2.1を避けることができますが、私はむしろ、このappwidgetができるだけ多くのアンドロイド版で作業したいと思っています(私はまだGT540をアップグレードできません)。 :-)
Logcatスタックトレース:
I/ActivityManager( 58): Starting activity: Intent { act=android.appwidget.action.APPWIDGET_PICK cmp=com.android.settings/.AppWidgetPickActivity (has extras) }
W/InputManagerService( 58): Window already focused, ignoring focus gain of: [email protected]
D/AndroidRuntime( 229): Shutting down VM
W/dalvikvm( 229): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
E/AndroidRuntime( 229): Uncaught handler: thread main exiting due to uncaught exception
E/AndroidRuntime( 229): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.AppWidgetPickActivity}: java.lang.NullPointerException
E/AndroidRuntime( 229): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
E/AndroidRuntime( 229): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
E/AndroidRuntime( 229): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
E/AndroidRuntime( 229): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
E/AndroidRuntime( 229): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 229): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 229): at android.app.ActivityThread.main(ActivityThread.java:4363)
E/AndroidRuntime( 229): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 229): at java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime( 229): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
E/AndroidRuntime( 229): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
E/AndroidRuntime( 229): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 229): Caused by: java.lang.NullPointerException
E/AndroidRuntime( 229): at com.android.settings.ActivityPicker$IconResizer.createIconThumbnail(ActivityPicker.java:364)
E/AndroidRuntime( 229): at com.android.settings.ActivityPicker$PickAdapter$Item.<init>(ActivityPicker.java:226)
E/AndroidRuntime( 229): at com.android.settings.AppWidgetPickActivity.putAppWidgetItems(AppWidgetPickActivity.java:185)
E/AndroidRuntime( 229): at com.android.settings.AppWidgetPickActivity.putInstalledAppWidgets(AppWidgetPickActivity.java:226)
E/AndroidRuntime( 229): at com.android.settings.AppWidgetPickActivity.getItems(AppWidgetPickActivity.java:207)
E/AndroidRuntime( 229): at com.android.settings.ActivityPicker.onCreate(ActivityPicker.java:98)
E/AndroidRuntime( 229): at com.android.settings.AppWidgetPickActivity.onCreate(AppWidgetPickActivity.java:63)
E/AndroidRuntime( 229): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
E/AndroidRuntime( 229): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
E/AndroidRuntime( 229): ... 11 more
I/Process ( 58): Sending signal. PID: 229 SIG: 3
I/dalvikvm( 229): threadid=7: reacting to signal 3
I/dalvikvm( 229): Wrote stack trace to '/data/anr/traces.txt'
E/ActivityThread( 58): Failed to find provider info for android.server.checkin
E/Checkin ( 58): Error reporting crash: java.lang.IllegalArgumentException: Unknown URL content://android.server.checkin/crashes
W/ActivityManager( 58): Activity idle timeout for HistoryRecord{44c1fd30 com.android.settings/.AppWidgetPickActivity}
マニフェスト:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="net.example.exampleapp"
android:versionCode="1"
android:versionName="1.0"
android:debuggable="true">
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<application
android:label="exampleapp">
<receiver
android:name="ExampleWidgetProvider" >
<intent-filter>
<action
android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data
android:name="android.appwidget.provider"
android:resource="@xml/example_appwidget_info" />
</receiver>
</application>
<uses-sdk android:minSdkVersion="3" />
</manifest>
@asegあなたのlogcatは "便利"ではありませんが、あなたの質問に答える必要があります。また、他のサイトからこのエラーが報告されています。リンクがありますか? – Phil
リンク:例:(http://www.google.com/support/forum/p/Google%20Mobile/thread?tid=2b15283faf73f876&hl=ja)および(http://community.o2online.ie/t5/Android/LG-Optimus-help/td-p/189604) – aseq