2013-11-27 3 views
-3

Я хочу запустить таймер и уведомление, когда нажимать кнопку запуска. Таймер следует останавливать, когда мы нажимаем на уведомление .. и время таймера должно быть отмечено в другой активности, когда нажимают на уведомление, это мой код, что я сделал до сих пор.
btn.setOnClickListener (новый View.OnClickListener() { Начать уведомление о событии клика стартового секундомера

 public void onClick(View v) 
    { 
      Intent intent = new Intent(context, MainActivity.class); 
      PendingIntent pIntent = PendingIntent.getActivity(context, 0, intent, 0); 
      Notification noti = new Notification.Builder(context) 
      .setContentTitle("New notification") 
      .setContentText("Subject").setSmallIcon(R.drawable.ic_launcher) 
      .setContentIntent(pIntent).build(); 
      NotificationManager notificationManager = 
      (NotificationManager)getSystemService(NOTIFICATION_SERVICE); 
      // hide the notification after its selected 
      noti.flags |= Notification.FLAG_AUTO_CANCEL; 
      notificationManager.notify(0, noti); 

     } 
    }); 
+0

Что вы сделали до сих пор? –

+0

привет, сэр. У меня есть одна кнопка. Когда мы нажимаем на эту кнопку, уведомление должно открываться. Оно должно отображаться для пользователя в качестве уведомления о том, что ваше приложение работает, и время, когда я нажимаю на таймер уведомления, должен быть остановлен и открывать активность, где я хочу store totat time app running – Yashwant

+0

Пожалуйста, включите пример кода, чтобы мы могли видеть, что вы сделали до сих пор. –

ответ

0

Так что, когда вы нажимаете на кнопке начала секундомера. , вызовите диспетчера уведомлений и выведите уведомление.

btn.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 

       Intent intent = new Intent(context, MainActivity.class); 
       PendingIntent pIntent = PendingIntent.getActivity(context, 0, intent, 0); 
       Notification noti = new Notification.Builder(context) 
       .setContentTitle("New notification") 
       .setContentText("Subject").setSmallIcon(R.drawable.ic_launcher) 
       .setContentIntent(pIntent).build(); 
       NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
       // hide the notification after its selected 
       noti.flags |= Notification.FLAG_AUTO_CANCEL; 
       notificationManager.notify(0, noti); 

      } 
     }); 
+0

thanx его работы, но он показывает некоторую ошибку. Для вызова требуется уровень API 11 (текущий мин - 8): android.app.Notification.Builder # setContentText – Yashwant

+0

Перейдите в файл AndroidManifest.xml и измените 'android: minSdkVersion' на 11. То есть' android: minSdkVersion = "11" ' –

+0

Спасибо, сэр. работает ... Я хочу запустить таймер также, когда нажимаю на эту кнопку и останавливаю таймер, когда нажимаю на уведомление, и время таймера должно быть занято другой деятельностью. Предположите, знаете ли, как это сделать .. – Yashwant

0

Попробуйте это:

private void generateNotification(Context context, String message) { 

int icon = R.drawable.ic_launcher; 
long when = System.currentTimeMillis(); 
String appname = context.getResources().getString(R.string.app_name); 
NotificationManager notificationManager = (NotificationManager) context 
.getSystemService(Context.NOTIFICATION_SERVICE); 
int currentapiVersion = android.os.Build.VERSION.SDK_INT; 
Notification notification; 
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, 
new Intent(context, myactivity.class), 0); 

// To support 2.3 os, we use "Notification" class and 3.0+ os will use 
// "NotificationCompat.Builder" class. 
if (currentapiVersion < android.os.Build.VERSION_CODES.HONEYCOMB) { 
notification = new Notification(icon, message, 0); 
notification.setLatestEventInfo(context, appname, message, 
contentIntent); 
notification.flags = Notification.FLAG_AUTO_CANCEL; 
notificationManager.notify(0, notification); 

} else { 
NotificationCompat.Builder builder = new NotificationCompat.Builder(
context); 
notification = builder.setContentIntent(contentIntent) 
.setSmallIcon(icon).setTicker(appname).setWhen(0) 
.setAutoCancel(true).setContentTitle(appname) 
.setContentText(message).build(); 

notificationManager.notify(0 , notification); 
} 
} 

Надеется, что это помогает

Смежные вопросы