آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

tap for more information or stop the app

WS  9 سال پیش  9 سال پیش
0 0

سلام دوستان من یک کاستوم نوتیفیکیشن نوشتم که به خوبی داره کار میکنه اما به صورت ثابت تویی نوتیفیکیشن این پیغام رو میده

app is running

 tap for more information or stop the app

ایا نیاز هست وقتی برنامه بسته میشه unregister بشه؟

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          android:versionCode="1"
          android:versionName="1.0">

    <uses-sdk
        android:minSdkVersion="9"
        android:targetSdkVersion="25"/>

    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.READ_CONTACTS"/>
    <uses-permission android:name="android.permission.WRITE_CONTACTS"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    <uses-permission android:name="android.permission.WAKE_LOCK"/>
    <application
        android:name=".app.GlobalController"
        android:allowBackup="true"
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:supportsRtl="false"
        android:theme="@style/AppTheme">
        <activity android:name=".activity.ActivityLogin">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name=".activity.ActivitySplashScreen"/>
        <activity android:name=".activity.ActivityMain"/>
        <activity android:name=".activity.ActivityAdvanceSetting"/>
        <receiver
            android:name=".services.ServiceBootCompleteReciver"
            android:enabled="true"
            android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED"/>
                <category android:name="android.intent.category.DEFAULT"/>
            </intent-filter>
        </receiver>
        <service
            android:name=".services.ServiceNotification"
            android:enabled="true"
            android:exported="false"/>
    </application>

public class ServiceNotification extends IntentService {

  public ServiceNotification() {
    super("notify");
  }

  @Override
  public void onCreate() {
    super.onCreate();
  }

  @Override
  public int onStartCommand(final Intent intent, int flags, int startId) {

      GlobalController.timerTaskService = new TimerTask() {
        @Override
        public void run() {
          CustomNotification customNotification = new CustomNotification();
          customNotification.notifiaction(message);
          startForeground(1, customNotification);
        }
      };

      GlobalController.timerService.scheduleAtFixedRate(GlobalController.timerTaskService, 0, 5000);

    return Service.START_STICKY;
  }

  public void onTaskRemoved(Intent rootIntent) {
    Intent restartService = new Intent(getApplicationContext(),
      this.getClass());
    restartService.setPackage(getPackageName());
    PendingIntent restartServicePI = PendingIntent.getService(getApplicationContext(), 1, restartService, PendingIntent.FLAG_ONE_SHOT);
    AlarmManager alarmService = (AlarmManager) getApplicationContext().getSystemService(Context.ALARM_SERVICE);
    alarmService.set(AlarmManager.ELAPSED_REALTIME, SystemClock.elapsedRealtime() + 5000, restartServicePI);

  }
  public class CustomNotification extends Notification {
      public void notifiaction(String txt) {
        ThreadSms thread = new Thread();
        threadSms.start();
;
        if (ThreadSms.newMessage) {
          Intent notificationIntent = new Intent(GlobalController.currentActivity, ActivityMain.class);
          PendingIntent pendingIntent = PendingIntent.getActivity(GlobalController.context, 0, notificationIntent, 0);
          Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
          RemoteViews remoteViews = new RemoteViews(GlobalController.context.getPackageName(), R.layout.custom_toast);
          remoteViews.setTextViewText(R.id.text, txt);
          NotificationCompat.Builder builder = new NotificationCompat.Builder(GlobalController.context)
            .setSmallIcon(R.drawable.small_icon)
            .setContent(remoteViews)
            .setContentIntent(pendingIntent)
            .setSound(defaultSoundUri).setAutoCancel(false)
            .setLargeIcon(BitmapFactory.decodeResource(GlobalController.context.getResources(), R.drawable.modem))
            .setColor(Color.argb(255, 255, 152, 0))
            .setPriority(Notification.PRIORITY_MAX);
          GlobalController.notificationManager.notify(0, builder.build());

        }
      }
    }
    public class CustomNotification extends Notification {
      public void notifiaction(String txt) {
        ThreadSms thread = new Thread();
        threadSms.start();
;
        if (ThreadSms.newMessage) {
          Intent notificationIntent = new Intent(GlobalController.currentActivity, ActivityMain.class);
          PendingIntent pendingIntent = PendingIntent.getActivity(GlobalController.context, 0, notificationIntent, 0);
          Uri defaultSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
          RemoteViews remoteViews = new RemoteViews(GlobalController.context.getPackageName(), R.layout.custom_toast);
          remoteViews.setTextViewText(R.id.text, txt);
          NotificationCompat.Builder builder = new NotificationCompat.Builder(GlobalController.context)
            .setSmallIcon(R.drawable.small_icon)
            .setContent(remoteViews)
            .setContentIntent(pendingIntent)
            .setSound(defaultSoundUri).setAutoCancel(false)
            .setLargeIcon(BitmapFactory.decodeResource(GlobalController.context.getResources(), R.drawable.modem))
            .setColor(Color.argb(255, 255, 152, 0))
            .setPriority(Notification.PRIORITY_MAX);
          GlobalController.notificationManager.notify(0, builder.build());

        }
      }
    }
public class ServiceBootCompleteReciver extends BroadcastReceiver {
  @Override
  public void onReceive(Context context, Intent intent) {
    Intent service = new Intent(context, ServiceNotification.class);
    context.startService(service);

  }
 برای این سوال پاسخی وجود ندارد.

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