首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android.content.ActivityNotFoundException,但在清单中声明

android.content.ActivityNotFoundException,但在清单中声明
EN

Stack Overflow用户
提问于 2017-06-12 14:18:48
回答 1查看 255关注 0票数 0

我的清单文件中有以下内容:

代码语言:javascript
复制
 <activity
            android:name="org.sipdroid.codecs.Codecs$CodecSettings"
            android:label="@string/app_name" >
 </activity>

这就是这个类:

代码语言:javascript
复制
public static class CodecSettings extends PreferenceActivity {

    private static final int MENU_UP = 0;
    private static final int MENU_DOWN = 1;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        addPreferencesFromResource(R.xml.codec_settings);

        // for long-press gesture on a profile preference
        registerForContextMenu(getListView());

        addPreferences(getPreferenceScreen());
    }

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
                    ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);

        menu.setHeaderTitle(R.string.codecs_move);
        menu.add(Menu.NONE, MENU_UP, 0,
             R.string.codecs_move_up);
        menu.add(Menu.NONE, MENU_DOWN, 0,
             R.string.codecs_move_down);
    }

    @Override
    public boolean onContextItemSelected(MenuItem item) {

        int posn = (int)((AdapterContextMenuInfo)item.getMenuInfo()).position;
        Codec c = codecs.elementAt(posn);
        if (item.getItemId() == MENU_UP) {
            if (posn == 0)
                return super.onContextItemSelected(item);
            Codec tmp = codecs.elementAt(posn - 1);
            codecs.set(posn - 1, c);
            codecs.set(posn, tmp);
        } else if (item.getItemId() == MENU_DOWN) {
            if (posn == codecs.size() - 1)
                return super.onContextItemSelected(item);
            Codec tmp = codecs.elementAt(posn + 1);
            codecs.set(posn + 1, c);
            codecs.set(posn, tmp);
        }
        PreferenceScreen ps = getPreferenceScreen();
        SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(Receiver.mContext);
        String v = "";
        SharedPreferences.Editor e = sp.edit();

        for (Codec d : codecs)
            v = v + d.number() + " ";
        e.putString(Settings.PREF_CODECS, v);
        e.commit();
        ps.removeAll();
        addPreferences(ps);
        return super.onContextItemSelected(item);
    }

    @Override
    public boolean onPreferenceTreeClick(PreferenceScreen ps, Preference p) {
        ListPreference l = (ListPreference) p;
        for (Codec c : codecs)
            if (c.key().equals(l.getKey())) {
                c.init();
                if (!c.isLoaded()) {
                    l.setValue("never");
                    c.fail();
                    l.setEnabled(false);
                    l.setSummary(l.getEntry());
                    if (l.getDialog() != null)
                        l.getDialog().dismiss();
                }
            }
        return super.onPreferenceTreeClick(ps,p);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        unregisterForContextMenu(getListView());
    }
}

我得到:找不到显式的activity类{org.sipdroid.sipua/org.sipdroid.codecs.Codecs$CodecSettings};你在你的AndroidManifest.xml中声明这个activity了吗?

怎么了?

EN

回答 1

Stack Overflow用户

发布于 2017-06-12 14:49:55

%1活动不应是静态类。

2 Activity不应该是内部类。

当涉及到您的问题时,它显示,您声明了两次包名。

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.yourpackage.activities">

    <application
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity"> 
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

如果在<manifest ../>中声明了包名,则不需要在<activity android:name=".MainActivity">中再次声明它。只需使用".“而不是那样。

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

https://stackoverflow.com/questions/44492543

复制
相关文章

相似问题

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