Intent Service вылетает из моего приложения? - PullRequest
0 голосов
/ 05 июля 2018

Есть разные вопросы, на которые дан ответ при переполнении стека, например, этот вопрос. Но код, используемый в этих вопросах, отличается от того, который я использую. Я просто вызываю службу intent_service, когда нажата кнопка основного действия. Ссылка ниже относится к изображению, а код показывает, как intent_service вызывается при нажатии кнопки;

: кнопка «Служба отправки намерений» на MainActivity

package com.example.mk141.intentservicenotworking;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity
{
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    public void start_intent_service(View view)
    {
        Intent intent_service=new Intent(this,Intent_Service.class);
        startActivity(intent_service);
    }
}

Код Present в классе Intent_Service выглядит следующим образом;

package com.example.mk141.intentservicenotworking;
import android.content.Intent;
import android.app.IntentService;
import android.util.Log;
public class Intent_Service extends IntentService
{
    private static final String 
    TAG="com.example.mk141.intentservicenotworking";
    public Intent_Service(String name)
    {
        super(name);
    }
    @Override
    protected void onHandleIntent(Intent intent)
    {
        Log.i(TAG,"Intent Service Started");//I disabled the Inspection but 
                                            // still crashing
                                            // when Intent Service is called
    }
}

В приведенном выше классе будет отображаться журнал, когда служба намерений называется, т.е. "Служба намерений запущена". Я также создал TAG и отредактировал фильтр так, чтобы отображалось только одно сообщение журнала, как показано на следующих изображениях:

Редактирование фильтра 1

Редактирующий фильтр 2

Произошла ошибка, т. Е. Символов в TAG может быть не более 23. Но после отключения Inspection эта ошибка завершается, как показано на следующем рисунке; ​​

Отключение проверки

Но когда я запускаю свою программу и нажимаю Запустить службу намерений, она вылетает, как показано на следующих изображениях;

приложение вылетает 1 приложение вылетает 2

Пожалуйста, кто-нибудь, помогите мне, если он знает, как решить эту ошибку, так как я не могу продолжить без устранения этой ошибки. Заранее спасибо!

1 Ответ

0 голосов
/ 05 июля 2018

Использование

startService(intent_service); 

вместо

startActivity(intent_service);

Для TAG

Не используйте TAG в выражении LOG более 23 символов.

...