我有一个特殊的活动(这个活动不在AndroidManifest.xml中声明的包中),它是这样的:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.rtk.mediabrowser"
android:installLocation="auto"
android:versionCode="1"
android:versionName="1.0" >
<activity android:name="com.skyworth.mediabrowser.media.NewMediaBrowser"
android:configChanges="orientation|keyboardHidden|keyboard" android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.NewMediaBrowser" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>这个AndroidManifest.xml是由我简化的,您可以看到,我声明的包是com.rtk.mediabrowser,但我的activity在包com.skyworth.mediabrowser.media中。
当我使用这样的代码调用此活动时,它找不到此活动:
componetName = new ComponentName("com.rtk.mediabrowser",
"com.skyworth.mediabrowser.media.NewMediaBrowser");我必须将活动移到com.rtk.mediabrowser吗?还是我的代码出了什么问题?
发布于 2015-01-29 12:03:55
我认为ComponentName需要"action android:name=“android.intent.action.MAIN”“。
请添加此代码"intent-filter“。
发布于 2015-01-29 12:37:53
componetName = new ComponentName("com.skyworth.mediabrowser.xxx",
"com.skyworth.mediabrowser.media.NewMediaBrowser");=>
componetName = new ComponentName("com.skyworth.mediabrowser.xxx",
"com.skyworth.mediabrowser.meida.NewMediaBrowser");它会工作的,你有没有发现different?meida拼写错误
https://stackoverflow.com/questions/28206695
复制相似问题