意图服务使我的应用程序崩溃?
Intent Service crashes my app?
像这个问题一样,在堆栈溢出上回答了不同的问题。但是这些问题中使用的代码与我正在使用的代码不同。当按下主 activity 上的按钮时,我只是调用 intent_service。下面的 link 引用了一张图片,代码显示了如何在按下按钮时调用 intent_service;
:The "Send Intent Service" Button on 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);
}
}
Intent_Serviceclass中的代码如下;
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
}
}
在上面 class 调用 Intent 服务时会出现一个日志,即 "Intent Service Started"。我还创建了一个标签并编辑了一个过滤器,以便只有一条日志消息显示如下图所示;
Editing Filter 1
Editing Filter 2
有一个错误,即 TAG 中的字符最多可以有 23 个。但是在禁用 Inspection 之后,错误就结束了,如下图所示;
Disabling Inspection
但是当我 运行 我的程序并按下 Start intent Service 时它崩溃了,如下图所示;
app crashes 1
app crashes 2
如果有人知道如何解决此错误,请帮助我,因为如果不解决此错误我将无法继续。提前致谢!
使用
startService(intent_service);
而不是
startActivity(intent_service);
对于标签
不要在超过 23 个字符的 LOG 语句中使用 TAG。
像这个问题一样,在堆栈溢出上回答了不同的问题。但是这些问题中使用的代码与我正在使用的代码不同。当按下主 activity 上的按钮时,我只是调用 intent_service。下面的 link 引用了一张图片,代码显示了如何在按下按钮时调用 intent_service;
:The "Send Intent Service" Button on 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);
}
}
Intent_Serviceclass中的代码如下;
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
}
}
在上面 class 调用 Intent 服务时会出现一个日志,即 "Intent Service Started"。我还创建了一个标签并编辑了一个过滤器,以便只有一条日志消息显示如下图所示;
Editing Filter 1
Editing Filter 2
有一个错误,即 TAG 中的字符最多可以有 23 个。但是在禁用 Inspection 之后,错误就结束了,如下图所示;
Disabling Inspection
但是当我 运行 我的程序并按下 Start intent Service 时它崩溃了,如下图所示;
app crashes 1 app crashes 2
如果有人知道如何解决此错误,请帮助我,因为如果不解决此错误我将无法继续。提前致谢!
使用
startService(intent_service);
而不是
startActivity(intent_service);
对于标签
不要在超过 23 个字符的 LOG 语句中使用 TAG。