Majid Ebrahimi

قرار دادن Button در قسمت Notification

7 ارسال در این موضوع قرار دارد

سلام.

منظورم این است که مانند برنامه های پخش موسیقی یا مدیریت دانلود ما یک سرویس داریم که در آن یک Notification میسازیم این Notification یک layout است که در آن دو باتن برای شروع و متوقف کردن کار وجوذ دارد.اما چگونه می توان از به این باتن ها دسترسی پیدا کرد یا به آنها گوش داد؟و اینکه کاربر با لمس کردن layout یک اکتیویتی از برنامه  اجرا شود.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای اینکار باید یک اکتیویتی بیسازید وقتی کاربر 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]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

خیلی ممنون آقای سرسیفی حرف شما صحیح است.اما چگونه می توان یک لایوت مثل زیر ساخت که امیج ویو ها یا باتن ها در قسمت نوتیفیکیشن هستند.و نیاز به اجرای یک اکتیویتی نباشد.do.php?img=253

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای اینکار میتوانید بدین صورت هم کار کنید و برای 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]

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

من یک نوتیفیکیشن  در یک سرویس قرار دادم  و  مانند آنچه که شما گفته اید یک لایوت به نوتیفیکیشن اختصاص دادم.اما برای مثال من میخواهم در این custom_notificationl وقتی کاربر روی ایمیج ویو می زند کاری انجام شود.مثلا عملیات دانلود متوقف شود.اما درnotification.contentview لیسنتر برای ایمیج ویو یا باتن یا هرچه، وجود ندارد.لااقل من پیدا نکردم.در واقع من دنبال راهی برای گوش دادن به امیج ویوها یا باتن ها در قسمت نوتیفیکیشن هستم.امیدوارم منظورم را درست گفته باشم.خیلی ممنون از پاسخ هایتان.اگر در مورد لیستنر راهنمایی کنید ممنون میشوم.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

مثلا شما یک Button دارید به اسم btn_save اول Object را بسازید.

[shcode=java]btn_save=(Button)contentView .findViewById(R.id.btn_save);

[/shcode]

سپس در رویداد کلیک آن عملیات های مورد نظر را بنویسی.

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

اما contentview تابع findViewById را ندارد.لا اقل در سرویس نمی شود از آن استفاده کرد.من هم هرچه در نت دنبال جواب گشتم چیزی دستگیرم نشد.را حل دیگری دارید؟

به اشتراک گذاری این پست


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری