造成原因:java.lang.IllegalStateException:

穆罕默德·萨奇布(Muhammad Saqib Javed)

我正面临着这个,我不知道如何复制它。

造成原因:java.lang.IllegalStateException:

2小时后,当我在google play商店上发布时,我的应用程序在我的设备上运行正常,这些问题在android vitals崩溃报告中产生我无法复制它。


java.lang.RuntimeException: 
  at android.app.ActivityThread.handleReceiver (ActivityThread.java:3619)
  at android.app.ActivityThread.access$1300 (ActivityThread.java:237)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1803)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:214)
  at android.app.ActivityThread.main (ActivityThread.java:7091)
  at java.lang.reflect.Method.invoke (Native Method)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:975)
Caused by: java.lang.IllegalStateException: 
  at android.app.ContextImpl.startServiceCommon (ContextImpl.java:1666)
  at android.app.ContextImpl.startService (ContextImpl.java:1611)
  at android.content.ContextWrapper.startService (ContextWrapper.java:677)
  at android.content.ContextWrapper.startService (ContextWrapper.java:677)
  at b.k.a.a.b (Unknown Source:22)
  at sjtechnologies.muslimapp.service.PrayerAlarm.onReceive (Unknown Source:21)
  at android.app.ActivityThread.handleReceiver (ActivityThread.java:3610)

我的祷告Alram代码


public class PrayerAlarm extends WakefulBroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle b = intent.getExtras();
        startWakefulService(context, new Intent(context, PrayerNotification.class).putExtra("prayName", b.getString("prayName")));

        Log.i("ACTIVITY_SRAT" , "PrayerAlarm is working well");
    }
}


祈祷通知课在这里。我不知道我缺少什么。也许唤醒服务创建问题


public class PrayerNotification extends Service {
    private String prayingName , prayerType;

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        prayingName = intent.getStringExtra("prayName");
        //not mid night
        Log.i("ACTIVITY_SRAT" , "PrayerNotification is working well");
        if (ConfigPreferences.getPrayingNotification(this) && !prayingName.equals("6"))
            showNotification();
        if (ConfigPreferences.getSilentMood(this)) changeMobileToSilentMood();
        sendBroadcast(new Intent().setAction("prayer.information.change"));
        stopSelf();
        PrayerAlarm.completeWakefulIntent(intent);
        return super.onStartCommand(intent, flags, startId);
    }

    /**
     * Function to check to make mobile silent in prayer
     */
    private void changeMobileToSilentMood() {
        AudioManager mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
        int ringerMode = mAudioManager.getRingerMode();
        if (ringerMode != AudioManager.RINGER_MODE_SILENT) {
            Alarms.switchToSilent(10, this);
        }
    }

    /**
     * Function to show prayer notification
     */
    public void showNotification() {

        switch (prayingName) {
            case "0":
                prayingName = this.getString(R.string.fajr_prayer);
                prayerType = PrayerImageActivity.MOSQUE_NIGHT;
                AppLog.add(prayingName);
                break;
            case "1":
                prayingName = this.getString(R.string.sunrize_prayer);
                prayerType = PrayerImageActivity.MOSQUE_DAY;
                AppLog.add(prayingName);
                break;
            case "2":
                HGDate hgDate = new HGDate();
                prayingName = hgDate.weekDay() != 5 ? this.getString(R.string.zuhr_prayer) : this.getString(R.string.jomma_prayer);

                prayerType = PrayerImageActivity.MOSQUE_DAY;
                AppLog.add(prayingName);
                break;
            case "3":
                prayingName = this.getString(R.string.asr_prayer);
                prayerType = PrayerImageActivity.MOSQUE_DAY;
                AppLog.add(prayingName);
                break;
            case "4":
                prayingName = this.getString(R.string.magreb_prayer);
                prayerType = PrayerImageActivity.MOSQUE_NIGHT;
                AppLog.add(prayingName);
                break;
            case "5":
                prayingName = this.getString(R.string.asha_prayer);
                prayerType = PrayerImageActivity.MOSQUE_NIGHT;
                AppLog.add(prayingName);
                break;
            case "6":
                prayingName = this.getString(R.string.mid_night);
                AppLog.add(prayingName);
                break;

        }


        NotificationCompat.Builder builder;
        boolean aboveLollipopFlag = android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
        PendingIntent intent = PendingIntent.getActivity(this, 0,
                new Intent(this, MainActivity.class), 0);
        if (ConfigPreferences.getLedNotification(this)) {
            builder = new NotificationCompat.Builder(this).
                    setSmallIcon(aboveLollipopFlag ? R.drawable.notification_white : R.drawable.icon)
                    .setPriority(Notification.PRIORITY_MAX)
                    .setContentText(prayingName)
                    .setContentTitle(getString(R.string.remember))
                    .setDefaults(Notification.DEFAULT_SOUND)
                    .setLights(0xFF00ff00, 1000, 1000)
                    .setAutoCancel(true)
                    .setColor(Color.parseColor("#2a5f54"))
                    .setContentIntent(intent);
        } else {
            builder = new NotificationCompat.Builder(this).
                    setSmallIcon(aboveLollipopFlag ? R.drawable.notification_white : R.drawable.icon)
                    .setPriority(Notification.PRIORITY_MAX)
                    .setContentText(prayingName)
                    .setContentTitle(getString(R.string.remember))
                    .setDefaults(Notification.DEFAULT_SOUND)
                    .setAutoCancel(true)
                    .setColor(Color.parseColor("#2a5f54"))
                    .setContentIntent(intent);
        }

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

        /*For start activities when prayer come*/

//        Intent intent1 = new Intent(this , PrayerImageActivity.class);
//        Log.i("ACTIVITY_SRAT" , "Start Activity is working well");
//        intent1.putExtra(PrayerImageActivity.MOSQUE_TYPE , prayerType);
//        intent1.putExtra(PrayerImageActivity.PRAY_TYPE , prayingName);
//        startActivity(intent1);


    }

    boolean isShow = true;
    @Override
    public IBinder onBind(Intent intent) {

        return null;
    }
}
大卫·水

文档表明在以下IllegalStateException情况下抛出:

如果应用程序处于无法启动服务的状态(例如,在允许服务的状态下不在前台)。

这意味着您的应用在BroadcastReceiver被触发时仍处于后台

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

onclick造成原因:java.lang.NullPointerException

来自分类Dev

java.lang.IllegalStateException:ViewPager

来自分类Dev

java.lang.IllegalStateException:打开

来自分类Dev

java.lang.IllegalStateException牛刀

来自分类Dev

EJB java.lang.IllegalStateException

来自分类Dev

引起原因:java.lang.IllegalStateException:尚未连接GoogleApiClient

来自分类Dev

原因:java.lang.IllegalStateException:包未安装?

来自分类常见问题

java.lang.IllegalStateException:FragmentManager已被破坏

来自分类Dev

onRequestPermissionsResult()中的Android java.lang.IllegalStateException

来自分类Dev

RecyclerView,项目刷卡,java.lang.IllegalStateException

来自分类Dev

java.lang.IllegalStateException:活动已被破坏

来自分类Dev

java.lang.IllegalStateException:片段已添加

来自分类Dev

java.lang.IllegalStateException:已在setDoOutput连接

来自分类Dev

java.lang.IllegalStateException:找不到方法

来自分类Dev

java.lang.IllegalStateException:没有SessionManager

来自分类Dev

java.lang.IllegalStateException =混淆新手

来自分类Dev

java.lang.IllegalStateException:恢复时下溢

来自分类Dev

Java.lang.IllegalStateException:已附加

来自分类Dev

改造:java.lang.IllegalStateException:已关闭

来自分类Dev

Android Kotlin:java.lang.IllegalStateException

来自分类Dev

Android中的java.lang.IllegalStateException

来自分类Dev

java.lang.IllegalStateException =混淆新手

来自分类Dev

java.lang.IllegalStateException:事务未激活

来自分类Dev

java.lang.IllegalStateException错误消息

来自分类Dev

java.lang.IllegalStateException:片段已经激活

来自分类Dev

改造中的 java.lang.IllegalStateException

来自分类Dev

Spring JPA 测试 java.lang.IllegalStateException

来自分类Dev

Android 片段 alertDialog java.lang.IllegalStateException

来自分类Dev

java.lang.IllegalStateException: null with iterator

Related 相关文章

  1. 1

    onclick造成原因:java.lang.NullPointerException

  2. 2

    java.lang.IllegalStateException:ViewPager

  3. 3

    java.lang.IllegalStateException:打开

  4. 4

    java.lang.IllegalStateException牛刀

  5. 5

    EJB java.lang.IllegalStateException

  6. 6

    引起原因:java.lang.IllegalStateException:尚未连接GoogleApiClient

  7. 7

    原因:java.lang.IllegalStateException:包未安装?

  8. 8

    java.lang.IllegalStateException:FragmentManager已被破坏

  9. 9

    onRequestPermissionsResult()中的Android java.lang.IllegalStateException

  10. 10

    RecyclerView,项目刷卡,java.lang.IllegalStateException

  11. 11

    java.lang.IllegalStateException:活动已被破坏

  12. 12

    java.lang.IllegalStateException:片段已添加

  13. 13

    java.lang.IllegalStateException:已在setDoOutput连接

  14. 14

    java.lang.IllegalStateException:找不到方法

  15. 15

    java.lang.IllegalStateException:没有SessionManager

  16. 16

    java.lang.IllegalStateException =混淆新手

  17. 17

    java.lang.IllegalStateException:恢复时下溢

  18. 18

    Java.lang.IllegalStateException:已附加

  19. 19

    改造:java.lang.IllegalStateException:已关闭

  20. 20

    Android Kotlin:java.lang.IllegalStateException

  21. 21

    Android中的java.lang.IllegalStateException

  22. 22

    java.lang.IllegalStateException =混淆新手

  23. 23

    java.lang.IllegalStateException:事务未激活

  24. 24

    java.lang.IllegalStateException错误消息

  25. 25

    java.lang.IllegalStateException:片段已经激活

  26. 26

    改造中的 java.lang.IllegalStateException

  27. 27

    Spring JPA 测试 java.lang.IllegalStateException

  28. 28

    Android 片段 alertDialog java.lang.IllegalStateException

  29. 29

    java.lang.IllegalStateException: null with iterator

热门标签

归档