目覚ましアプリをリリースしたばかりで、地獄でした。アラーム一覧画面を開こうとすると、特定のデバイスで機能しなくなります。一部のデバイスでは壊れているのに、他のデバイスでは壊れていない理由がわかりません。私が試したすべての電話は完全に機能しますが、他のデバイスでアラームリストを開くと、それが爆発します. この種の特定のデバイスの互換性の問題については、私は本当に深く理解していません。
AlarmClock の 227 行目のコードは次のとおりです。
View changeSettings = findViewById(R.id.alarm_settings);
changeSettings.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
startActivity(new Intent(getApplicationContext(), SettingsActivity.class));
}
});
そして、次の xml 行を参照します。
<Button
android:id="@+id/alarm_settings"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="0.0dip" android:layout_height="fill_parent"
android:text="@string/menu_settings"
android:layout_weight="1.0" />
これは、Android の株価アラームの適応バージョンからソースを借りた設定アクティビティにリンクしていますが、非推奨とされている addPreferencesFromResource を使用しています。それがこの問題の原因ですか?
これは、ユーザーのデバイスからのスタック トレースです。
Nexus 7 でセットアップ アラーム ボタンを押すと、クラッシュしました
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.nathantempelman.GoodMorningAlarmFree/com.nathantempelman.alarmclockfree.AlarmClock}: java.lang.NullPointerException
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2185)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2210)
at android.app.ActivityThread.access$600(ActivityThread.java:142)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1208)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4931)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.nathantempelman.alarmclockfree.AlarmClock.updateLayout(AlarmClock.java:227)
at com.nathantempelman.alarmclockfree.AlarmClock.onCreate(AlarmClock.java:210)
at android.app.Activity.performCreate(Activity.java:5008)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2139)
... 11 more
どんな助けでも素晴らしいでしょう。タブレットの問題かどうかはわかりませんが、他の人のタブレットでも発生していることは知っています。アプリを試してみたい方はこちら: https://play.google.com/store/apps/details?id=com.nathantempelman.GoodMorningAlarmFree