بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

pushnotification

مدیریت گفتگو
Hajhosseini 12 سال پیش
آخرین تغییر: 12 سال پیش

روشی هست که بفهمیم چه کسی روی نوتیفیکیشن کلیک کرده؟
در صورتی که نوتیفیکیشن یک Activity رو باز کنه میشه مقادیری ارسال کرد و با توجه به اونا فهمید که کلیک انجام شده یا نه، ولی اگر بخوایم یک برنامه رو توی بازار باز کنیم این کار عملی نیست.
برای نوتیفیکیشن onClickListener وجود نداره، روش دیگه ای هست؟
توضیحات : هدف اینه که بفهمم چند نفر روی نوتیفیکیشنی که ارسال میشه کلیک میکنن
راه حل : یک راهی که پیدا کردم استفاده از کاستوم نوتیفیکیشن هست که در کاری که من دارم انجام میدم کاربرد نداره

 Log.i("LOG", "Notification");
        Uri uri = Uri.parse("market://details?id=" + link);
        Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
        Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
        PendingIntent pIntent = PendingIntent.getActivity(this, 0, goToMarket,
                PendingIntent.FLAG_UPDATE_CURRENT);

        NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
                .setSound(alarmSound)
                .setSmallIcon(R.drawable.tale_rouzane_icon)
                .setTicker(title_first)
                .setContentTitle(title)
                .setContentText(matn)
                .setContentIntent(pIntent)
                .setWhen(0)
                .setAutoCancel(true);

        NotificationManager notificationmanager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        notificationmanager.notify(0, builder.build());

نظرات

hamidd 12 سال پیش
میخواین با تپ شدن روی Notification توی StatusBar کد خاصی اجرا بشه؟
Hajhosseini 12 سال پیش
دقیقا همین رو میخوام حمید جان، ولی هیچی راجع بهش پیدا نکردم
hamidd 12 سال پیش
این که کاری نداره.هم میشه putextra کرد.خودم همین دیروز تست کردم.به بازار اینتنت میدادم یا به هر سایتی که دلم می خواست.کدتون رو اگه بذارید بهتون میگم چی کار باید بکنید.
Hajhosseini 12 سال پیش
در قسمت Link به طور مثال ir.hajhosseinico.tale_rouzane وارد میشه
hamidd 12 سال پیش
خب این که الان مشکلی نداره.تستش کردم توی بازار هم میره.میخواین یه کد دیگه اجرا کنه؟مثلا یک Toast نمایش بده؟
Hajhosseini 12 سال پیش
نه احتمال زیاد من سوال رو درست نرسوندم، میخوام بدونم چه کسانی روی نوتیفیکیشن کلیک کردن، این کد درست کارمیکنه ولی مشخص نمیشه چند نفر روش کلیک میکنن و چند نفر کلیک نمیکنن
hamidd 12 سال پیش
خب به جای اینتنت بازار، اینتنت اکتیویتی بدید و وقتی با تپ شدن Notification اکتیویتی مورد نظر باز شد.داخل onCreate اش اینتنت بازار رو بزارید و کدی بزارید که به تعداد Notification های تپ شده یکی اضافه کنه .اخر کدها هم finish (); بزارید تا اکتیویتی مورد نظر بسته بشه.
Hajhosseini 12 سال پیش
تا امروز این روش رو انجام میدادم ولی برای یک ثانیه یک صفحه سیاه بازمیشه و بعد بازار باز میشه، اینجا مطرح کردم ببینم راه اصولی داره یا باید همینجوری بسوزیم و بسازیم!
hamidd 12 سال پیش
چون همه چی توی یک میلی ثانیه انجام میشه برای من صفحه ی سیاه باز نمی شه.همچنین می تونید کد ها رو قبل از setContentView بذارید.
hamidd 12 سال پیش
همین طور می تونید سرویس براش بنویسید اگه می خواین اون صفحه مشکی ظاهر نشه.

هنوز پاسخی ثبت نشده است


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .