Majid Ebrahimi 19 ارسال شده در ۱۶ بهمن ۱۳۹۲ گزارش اشتراک گذاری ارسال شده در ۱۶ بهمن ۱۳۹۲ سلام. منظورم این است که مانند برنامه های پخش موسیقی یا مدیریت دانلود ما یک سرویس داریم که در آن یک Notification میسازیم این Notification یک layout است که در آن دو باتن برای شروع و متوقف کردن کار وجوذ دارد.اما چگونه می توان از به این باتن ها دسترسی پیدا کرد یا به آنها گوش داد؟و اینکه کاربر با لمس کردن layout یک اکتیویتی از برنامه اجرا شود. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Farzad Sarseifi 575 ارسال شده در ۱۶ بهمن ۱۳۹۲ گزارش اشتراک گذاری ارسال شده در ۱۶ بهمن ۱۳۹۲ برای اینکار باید یک اکتیویتی بیسازید وقتی کاربر Notification را انتخاب کرد، ان اکتیویتی اجرا شود.بطور مثال: [shcode=java] NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); Intent contentIntent = new Intent(this,QuestionActivity.class); Notification notification = new Notification(R.drawable.icon, "یاد آوری",System.currentTimeMillis()); notification.setLatestEventInfo(this, english, "",PendingIntent.getActivity(this.getBaseContext(), 0,contentIntent, PendingIntent.FLAG_CANCEL_CURRENT)); notification.flags = Notification.FLAG_AUTO_CANCEL; notificationManager.notify(SIMPLE_NOTFICATION_ID,notification); [/shcode] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Majid Ebrahimi 19 ارسال شده در ۱۶ بهمن ۱۳۹۲ مالک گزارش اشتراک گذاری ارسال شده در ۱۶ بهمن ۱۳۹۲ خیلی ممنون آقای سرسیفی حرف شما صحیح است.اما چگونه می توان یک لایوت مثل زیر ساخت که امیج ویو ها یا باتن ها در قسمت نوتیفیکیشن هستند.و نیاز به اجرای یک اکتیویتی نباشد. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Farzad Sarseifi 575 ارسال شده در ۱۶ بهمن ۱۳۹۲ گزارش اشتراک گذاری ارسال شده در ۱۶ بهمن ۱۳۹۲ برای اینکار میتوانید بدین صورت هم کار کنید و برای Notification یک Layout بسازید. custom_notification.xml [shcode=xml] android:id="@+id/layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:padding="10dp" > android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_alignParentLeft="true" android:layout_marginRight="10dp" /> android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/image" style="Custom Notification Title" /> android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/image" android:layout_below="@id/title" style="Custom Notification Text" /> [/shcode]و در کلاس خود از این کد استفاده کنید : [shcode=java] public class MainActivity extends Activity { @SuppressWarnings("deprecation") @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); int icon = R.drawable.ic_launcher; long when = System.currentTimeMillis(); Notification notification = new Notification(icon, "Custom Notification", when); NotificationManager mNotificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); RemoteViews contentView = new RemoteViews(getPackageName(), R.layout.custom_notification); contentView.setImageViewResource(R.id.image, R.drawable.ic_launcher); contentView.setTextViewText(R.id.title, "Custom notification"); contentView.setTextViewText(R.id.text, "This is a custom layout"); notification.contentView = contentView; Intent notificationIntent = new Intent(this, MainActivity.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0); notification.contentIntent = contentIntent; notification.flags |= Notification.FLAG_NO_CLEAR; //Do not clear the notification notification.defaults |= Notification.DEFAULT_LIGHTS; // LED notification.defaults |= Notification.DEFAULT_VIBRATE; //Vibration notification.defaults |= Notification.DEFAULT_SOUND; // Sound mNotificationManager.notify(1, notification); } [/shcode] نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Majid Ebrahimi 19 ارسال شده در ۱۶ بهمن ۱۳۹۲ مالک گزارش اشتراک گذاری ارسال شده در ۱۶ بهمن ۱۳۹۲ من یک نوتیفیکیشن در یک سرویس قرار دادم و مانند آنچه که شما گفته اید یک لایوت به نوتیفیکیشن اختصاص دادم.اما برای مثال من میخواهم در این custom_notificationl وقتی کاربر روی ایمیج ویو می زند کاری انجام شود.مثلا عملیات دانلود متوقف شود.اما درnotification.contentview لیسنتر برای ایمیج ویو یا باتن یا هرچه، وجود ندارد.لااقل من پیدا نکردم.در واقع من دنبال راهی برای گوش دادن به امیج ویوها یا باتن ها در قسمت نوتیفیکیشن هستم.امیدوارم منظورم را درست گفته باشم.خیلی ممنون از پاسخ هایتان.اگر در مورد لیستنر راهنمایی کنید ممنون میشوم. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Farzad Sarseifi 575 ارسال شده در ۱۶ بهمن ۱۳۹۲ گزارش اشتراک گذاری ارسال شده در ۱۶ بهمن ۱۳۹۲ مثلا شما یک Button دارید به اسم btn_save اول Object را بسازید. [shcode=java]btn_save=(Button)contentView .findViewById(R.id.btn_save); [/shcode] سپس در رویداد کلیک آن عملیات های مورد نظر را بنویسی. نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
Majid Ebrahimi 19 ارسال شده در ۱۶ بهمن ۱۳۹۲ مالک گزارش اشتراک گذاری ارسال شده در ۱۶ بهمن ۱۳۹۲ اما contentview تابع findViewById را ندارد.لا اقل در سرویس نمی شود از آن استفاده کرد.من هم هرچه در نت دنبال جواب گشتم چیزی دستگیرم نشد.را حل دیگری دارید؟ نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
yashar.developer 0 ارسال شده در ۸ دی ۱۳۹۸ گزارش اشتراک گذاری ارسال شده در ۸ دی ۱۳۹۸ سلام مشکل شما اینه که اصلا قرار نیست listener بزارید فقط کافیه style نافیکیشن رو تغییر بدید Notification noti = new NotificationCompat.Builder() .setSmallIcon(R.drawable.ic_stat_player) .setContentTitle("Track title") .setContentText("Artist - Album") .setLargeIcon(albumArtBitmap)) .setStyle(new NotificationCompat.MediaStyle() .setMediaSession(mySession)) .build(); این مثالی بود برای music player فقط اونجایی که نوشته my session باید از کود زیر استفاده کنید mediaPlayer.getSessionId انشالاه کارتون راه بیفته نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر
پست های پیشنهاد شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .