ユーザーが Android アプリに対して行ったエラー レポートに、次のエラー メッセージが引き続き表示されます。
java.lang.NoClassDefFoundError: android.content.ClipboardManager
at com.nepali_unicode.nepalityping.MainActivity.onCreate(Unknown Source)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1630)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1682)
at android.app.ActivityThread.access$1500(ActivityThread.java:121)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:940)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3714)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:611)
at dalvik.system.NativeStart.main(Native Method)
単純な edittext フィールドと、edidtext の内容をコピーするために押すことができるボタンが必要です。基本的に私がやりたいことは、Android 2.3.3 または Android 2.2 までの古いデバイスをサポートすることです。私はすでに同じ問題についてここで質問しました。解決策を試しました:
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) {
// do the newer API
}
else {
// do the older API
}
Android Virtual Devices エミュレーターをテストしたときは機能しましたが、新しいアプリに更新したユーザーは、新しいバージョンに更新しても同じエラーを報告しました。
スタックオーバーフロー全体で見つかった他の多くのソリューションを試しましたが、それでもエラーレポートが表示され続けます。
現在使用しているコードは次のとおりです。
buttonCopy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
copyText = editText.getText().toString();
@SuppressWarnings("deprecation")
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
clipboard.setText(copyText);
}
});
エラーを報告する一般的なデバイスは次のとおりです: Galaxy Y (GT-S5360)
エラーを報告する Android のバージョン: Android 2.3.3 - 2.3.7
私が知る限り、エラーはandroid.content.ClipboardManagerに関連しています
上記のコードに見られるように、私はandroid.text.ClipboardManagerを使用します。
それでも android.content.ClipboardManager エラーが発生するのはなぜですか?