بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
tap for more information or stop the app
سلام دوستان من یک کاستوم نوتیفیکیشن نوشتم که به خوبی داره کار میکنه اما به صورت ثابت تویی نوتیفیکیشن این پیغام رو میده
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);
}
برای این سوال پاسخی وجود ندارد.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .