We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
当使用startActivityForResult调用插件的Activity时,调试时,断点到了PluginLibraryInternalProxy.startActivityForResult(Activity activity, Intent intent, int requestCode, Bundle options),发现其中调用的方法getPluginName(activity, intent),在这里有问题: /** * 获取插件名称 */ private static String getPluginName(Activity activity, Intent intent) { String plugin = ""; if (intent.getComponent() != null) { plugin = intent.getComponent().getPackageName(); } 这个如果写的是插件包名,传递的参数activity.getClassLoader()必将返回的plugin值是"main" // 如果 plugin 是包名,则说明启动的是本插件。 if (TextUtils.isEmpty(plugin) || plugin.contains(".")) { plugin = RePlugin.fetchPluginNameByClassLoader(activity.getClassLoader()); } // 否则是其它插件 return plugin; }
demo中, (刻意以“Alias(别名)”来打开) Intent intent = new Intent(); intent.setComponent(new ComponentName("demo1", "com.qihoo360.replugin.sample.demo1.activity.for_result.ForResultActivity")); RePlugin.startActivityForResult(MainActivity.this, intent, REQUEST_CODE_DEMO1, null); 改成 RePlugin.startActivityForResult(MainActivity.this, RePlugin.createIntent("com.qihoo360.replugin.sample.demo1", "com.qihoo360.replugin.sample.demo1.MainActivity")); 后无法正常调用
replugin-host-lib/gradle Version:2.1.7 rePlugin-plugin-lib/gradle Version:2.2.0
Android API Version:android 6.0,android 4.4 Android 手机型号&ROM(Phone model & ROM): 荣耀6p,oppo r8207
PACM: bindActivity: may be invalid plugin name or load plugin failed: plugin=null
The text was updated successfully, but these errors were encountered:
我也遇到了。
我感觉 if (TextUtils.isEmpty(plugin) || plugin.contains(".")) 这里的 || plugin.contains(".") 似乎多余了
if (TextUtils.isEmpty(plugin) || plugin.contains("."))
|| plugin.contains(".")
这个Issue为什么无人问津(迷)
楼主解决了吗? ———————————————— replugin-host-lib/gradle Version:2.2.1 rePlugin-plugin-lib/gradle Version:2.2.1 ———————————————— 好想@一下还明显活跃的大佬 @cundong 。对不起啊,打扰一下。
Sorry, something went wrong.
修复 Qihoo360#344
18a635a
修复 Qihoo360#344 宿主无法使用插件包名的方式startActivityForResult调用插件Activity
No branches or pull requests
问题详细描述 Detailed description of the problem
当使用startActivityForResult调用插件的Activity时,调试时,断点到了PluginLibraryInternalProxy.startActivityForResult(Activity activity, Intent intent, int requestCode, Bundle options),发现其中调用的方法getPluginName(activity, intent),在这里有问题:
/**
* 获取插件名称
*/
private static String getPluginName(Activity activity, Intent intent) {
String plugin = "";
if (intent.getComponent() != null) {
plugin = intent.getComponent().getPackageName();
}
这个如果写的是插件包名,传递的参数activity.getClassLoader()必将返回的plugin值是"main"
// 如果 plugin 是包名,则说明启动的是本插件。
if (TextUtils.isEmpty(plugin) || plugin.contains(".")) {
plugin = RePlugin.fetchPluginNameByClassLoader(activity.getClassLoader());
}
// 否则是其它插件
return plugin;
}
复现问题步骤 Steps to reproduce the problem
demo中, (刻意以“Alias(别名)”来打开)
Intent intent = new Intent();
intent.setComponent(new ComponentName("demo1", "com.qihoo360.replugin.sample.demo1.activity.for_result.ForResultActivity"));
RePlugin.startActivityForResult(MainActivity.this, intent, REQUEST_CODE_DEMO1, null);
改成
RePlugin.startActivityForResult(MainActivity.this, RePlugin.createIntent("com.qihoo360.replugin.sample.demo1", "com.qihoo360.replugin.sample.demo1.MainActivity"));
后无法正常调用
其它重要信息 Other important information
replugin-host-lib/gradle Version:2.1.7
rePlugin-plugin-lib/gradle Version:2.2.0
Android API Version:android 6.0,android 4.4
Android 手机型号&ROM(Phone model & ROM): 荣耀6p,oppo r8207
Logcat上下文 Logcat context
PACM: bindActivity: may be invalid plugin name or load plugin failed: plugin=null
The text was updated successfully, but these errors were encountered: