【发布时间】:2017-03-29 07:00:10
【问题描述】:
我正在开发一个库。我希望使用我的库的应用程序应该能够使用我的自定义操作通过隐式意图启动我的主要活动。但是自定义意图不起作用。它说“没有发现任何活动来处理带有 action = 'my custom action' 的意图”。下面是我的代码:
Intent intent = new Intent();
intent.setAction("my.custom.action");
intent.addCategory("android.intent.category.DEFAULT");
intent.putExtra("foo","bar");
startActivity(intent);
我也尝试过使用包名来获取意图,但它也不起作用(虽然我不想使用这种方法,因为我不想公开我的包名和组件)
Intent intent = getPackageManager().getLaunchIntentForPackage("com.happay.android.acslibrary");
最后我尝试使用显式意图:
Intent intent = new Intent(this,LibMainActivity.class);
startActivity(intent);
这没有引发异常,但没有打开我的图书馆活动。它刚刚从我的主项目中打开了相同的活动。 这是我注册活动的图书馆项目清单:
<activity android:name=".LibMainActivity">
<intent-filter>
<action android:name="my.custom.action" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
我做错了什么?
【问题讨论】:
标签: android android-intent android-manifest intentfilter