我有一个特殊的活动(此活动不在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
,但我的活动在包com.skyworth.mediabrowser.media
中。
当我使用这样的代码来调用此活动时,它无法找到此活动:
componetName = new ComponentName("com.rtk.mediabrowser",
"com.skyworth.mediabrowser.media.NewMediaBrowser");
我必须将活动移至com.rtk.mediabrowser
吗?或者我的代码有问题?
答案 0 :(得分:0)
我认为ComponentName需要&#34;动作android:name =&#34; android.intent.action.MAIN&#34; &#34;
请添加此代码&#34; intent-filter&#34;。
答案 1 :(得分:0)
componetName = new ComponentName("com.skyworth.mediabrowser.xxx",
"com.skyworth.mediabrowser.media.NewMediaBrowser");
=&GT;
componetName = new ComponentName("com.skyworth.mediabrowser.xxx",
"com.skyworth.mediabrowser.meida.NewMediaBrowser");
它会起作用,你找到了不同的吗? meida 拼写错误