7

アプリケーションの起動時に通知を表示するAndroidアプリケーションを開発しました

Androidエミュレーターでコードを実行すると、アプリケーションは完璧に動作しますが、Androidバージョン4.0.4を搭載した実際のデバイスで同じコードを実行しようとすると、

logcatにエラーが表示されます

05-13 19:06:45.824: E/AndroidRuntime(15402): FATAL EXCEPTION: main
05-13 19:06:45.824: E/AndroidRuntime(15402): java.lang.NoSuchMethodError: android.app.Notification$Builder.addAction
05-13 19:06:45.824: E/AndroidRuntime(15402):    at com.example.gpstracker.MainActivity.onCreate(MainActivity.java:54)
05-13 19:06:45.824: E/AndroidRuntime(15402):    at android.app.Activity.performCreate(Activity.java:4470)
05-13 19:06:45.824: E/AndroidRuntime(15402):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
05-13 19:06:45.824: E/AndroidRuntime(15402):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
05-13 19:06:45.824: E/AndroidRuntime(15402):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)

私が試したコードは、

Notification noti = new Notification.Builder(this)
                .setContentTitle("Driver GPS Tracker Application")
                .setContentText("9ciphers")
                .setSmallIcon(R.drawable.ic_launcher).setContentIntent(in)
                .addAction(R.drawable.ic_launcher, "Start", i)
                .addAction(R.drawable.ic_launcher, "Stop", in)
                .addAction(R.drawable.ic_launcher, "Exit", pIntent).build();
        NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        // Hide the notification after its selected
        noti.flags |= Notification.FLAG_AUTO_CANCEL;

        notificationManager.notify(0, noti);
        Toast.makeText(getApplicationContext(), "Application Started", Toast.LENGTH_SHORT).show();
        notifyMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

ここで誰かがこれを整理するのを手伝ってくれますか

ご協力いただきありがとうございます

4

1 に答える 1

16

addAction()API レベル 16 に追加されました。NotificationCompat.BuilderAndroid 4.0.4 は API レベル 15 を実行します。Android サポート パッケージから に切り替えるか、addAction()場合にのみ呼び出しますBuild.VERSION.SDK_INT>=Build.VERSION_CODES.JELLY_BEAN

于 2013-05-13T13:55:02.187 に答える