2013-05-13 26 views
6

tôi đã phát triển một ứng dụng android nơi mà tôi đã sử dụng thông báo sẽ được hiển thị khi ứng dụng bắt đầu

Ứng dụng này hoạt động hoàn hảo khi tôi chạy mã trên giả lập android nơi như khi tôi cố gắng chạy cùng trên thiết bị thật trong đó có phiên bản android của 4.0.4

Nó ném cho tôi lỗi trong logcat như

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) 

mã mà tôi đã cố gắng là,

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); 

thể ai ở đây giúp tôi để sắp xếp này ra am i thiếu một cái gì đó ở đây

nhờ sự giúp đỡ của bạn

Trả lời

15

addAction() được bổ sung vào API Level 16; Android 4.0.4 chạy API cấp 15. Hoặc chuyển sang NotificationCompat.Builder từ gói Hỗ trợ Android hoặc chỉ gọi addAction() nếu Build.VERSION.SDK_INT>=Build.VERSION_CODES.JELLY_BEAN.

+0

nhưng tôi cần các hành động khác nhau được thực hiện trên bảng thông báo nếu tôi sử dụng 'NotificationCompact.Builder' nó không thêm phần hành động trong bảng thông báo – NetStarter

+1

@NetStarter:" các hành động khác nhau được thực hiện trên bảng thông báo "không được hỗ trợ cho đến khi Android 4.1. – CommonsWare

+1

@NetStarter http://developer.android.com/reference/android/app/Notification.Builder.html. Nếu ứng dụng của bạn hỗ trợ các phiên bản Android cũ như API cấp 4, bạn có thể sử dụng NotificationCompat.Builder, có sẵn trong thư viện Hỗ trợ Android – Raghunandan

Các vấn đề liên quan