Qihoo360 / RePlugin

RePlugin - A flexible, stable, easy-to-use Android Plug-in Framework
Apache License 2.0
7.25k stars 1.52k forks source link

如何启动plugin的service?使用Replugin只有startActivity方法 #181

Closed pysjp closed 7 years ago

pysjp commented 7 years ago

You may also want to read our issue guide.

RePlugin version: 最新的 Android compile SDK version: api 22 Android ROM: android 6.0

jiongxuan commented 7 years ago

请参见《插件的组件》内有详述: https://github.com/Qihoo360/RePlugin/wiki/%E6%8F%92%E4%BB%B6%E7%9A%84%E7%BB%84%E4%BB%B6

pysjp commented 7 years ago

经过测试发现,以下的三种方法中,只有第三种可以正常启动插件,前两个都不行,而第三种只能启动activity,没法启动service // 方法1(最“单品”) Intent intent = new Intent(); intent.setComponentName(new ComponentName("demo2", "com.qihoo360.replugin.sample.demo2.databinding.DataBindingActivity")); context.startActivity(intent);

// 方法2(快速创建Intent) Intent intent = RePlugin.createIntent("demo2", "com.qihoo360.replugin.sample.demo2.databinding.DataBindingActivity"); context.startActivity(intent);

// 方法3(一行搞定) RePlugin.startActivity(v.getContext(), new Intent(), "demo2", "com.qihoo360.replugin.sample.demo2.databinding.DataBindingActivity");

前面两个都返回如下的错误,感觉插件没有被加载 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.fotaplus.sdk/com.fotaplus.sdk.MainActivity}: android.content.ActivityNotFoundException: Unable to find explicit activity class {demo1/com.qihoo360.replugin.sample.demo1.MainActivity}; have you declared this activity in your AndroidManifest.xml?