首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何声明和调用此活动?

如何声明和调用此活动?
EN

Stack Overflow用户
提问于 2015-01-29 11:47:12
回答 2查看 114关注 0票数 0

我有一个特殊的活动(这个活动不在AndroidManifest.xml中声明的包中),它是这样的:

代码语言:javascript
复制
<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中。

当我使用这样的代码调用此活动时,它找不到此活动:

代码语言:javascript
复制
componetName = new ComponentName("com.rtk.mediabrowser",
            "com.skyworth.mediabrowser.media.NewMediaBrowser");

我必须将活动移到com.rtk.mediabrowser吗?还是我的代码出了什么问题?

EN

回答 2

Stack Overflow用户

发布于 2015-01-29 12:03:55

我认为ComponentName需要"action android:name=“android.intent.action.MAIN”“。

请添加此代码"intent-filter“。

票数 0
EN

Stack Overflow用户

发布于 2015-01-29 12:37:53

代码语言:javascript
复制
componetName = new ComponentName("com.skyworth.mediabrowser.xxx",
        "com.skyworth.mediabrowser.media.NewMediaBrowser");

=>

代码语言:javascript
复制
componetName = new ComponentName("com.skyworth.mediabrowser.xxx",
        "com.skyworth.mediabrowser.meida.NewMediaBrowser");

它会工作的,你有没有发现different?meida拼写错误

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28206695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档