在使用SDK时无法传递intent参数并启动服务

时间:2017-02-02 22:57:29

标签: java android android-intent sdk

我有一个由两个模块组成的Android工作室项目: 1.我正在开发的一个库,它有一个类,将暴露给客户端应用程序(MySDK) 2.一个测试应用程序,它将使用库中的方法。 (MyTestApp)

出于某种原因,当我通过带参数的intent调用(SomeService)类时,参数不会被传递而且 从不调用类。 我在Android Monitor中收到的消息是:“无法为SetValues初始化类: java.lang.Class中

此外,该问题不归因于(SomeService)类。我已经证明了这一点。 它可能归因于上下文的传递方式,因为SDK没有与之关联的Activity。 但是,我不确定。

我尝试过很多方法但运气不错。非常感谢任何帮助。

//1. MyTestApp (Main Activity)
public class MyTestApp extends AppCompatActivity {

String aUrl ="http://www.google.com";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test_main);

    final TextView mTextView = (TextView) findViewById(R.id.Text);

    MySDK mySDK = new MySDK(this.getApplicationContext());
    mySDK.retrieveSomethingViaIntentService();
}
}

//2. MySDK
public class MySDK {

private static Context mCtx;

public MySDK(Context context) {
mCtx = context;
}

public void retrieveSomethingViaIntentService(){
               Intent i = new Intent(mCtx.getApplicationContext(), SomeService.class);
                i.putExtra("Label1", true);
                i.putExtra("Label2", false);
                mCtx.getApplicationContext().startService(i);
            }
}

1 个答案:

答案 0 :(得分:0)

事实证明我忘了包含[SomeService]类