繁体   English   中英

android.content.ActivityNotFoundException,无法开始活动

[英]android.content.ActivityNotFoundException ,unable to start activity

我正在尝试提供动态壁纸服务,该壁纸服务运行正常,但我收到了

03-20 19:13:21.039: E/AndroidRuntime(4147): FATAL EXCEPTION: main
03-20 19:13:21.039: E/AndroidRuntime(4147): java.lang.IllegalStateException: Could not execute method of the activity
03-20 19:13:21.039: E/AndroidRuntime(4147):     at android.view.View$1.onClick(View.java:2144)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at android.view.View.performClick(View.java:2485)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at android.view.View$PerformClick.run(View.java:9080)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at android.os.Handler.handleCallback(Handler.java:587)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at android.os.Handler.dispatchMessage(Handler.java:92)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at android.os.Looper.loop(Looper.java:130)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at android.app.ActivityThread.main(ActivityThread.java:3687)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at java.lang.reflect.Method.invokeNative(Native Method)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at java.lang.reflect.Method.invoke(Method.java:507)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at dalvik.system.NativeStart.main(Native Method)
03-20 19:13:21.039: E/AndroidRuntime(4147): Caused by: java.lang.reflect.InvocationTargetException
03-20 19:13:21.039: E/AndroidRuntime(4147):     at java.lang.reflect.Method.invokeNative(Native Method)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at java.lang.reflect.Method.invoke(Method.java:507)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at android.view.View$1.onClick(View.java:2139)
03-20 19:13:21.039: E/AndroidRuntime(4147):     ... 11 more
03-20 19:13:21.039: E/AndroidRuntime(4147): Caused by: 
android.content.ActivityNotFoundException: 
Unable to find explicit activity class {com.miccialabs.liveballwallpaper/com.miccialabs.LiveBallWallpaperSettings};
have you declared this activity in your AndroidManifest.xml?
03-20 19:13:21.039: E/AndroidRuntime(4147):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at android.app.Activity.startActivityForResult(Activity.java:2827)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at android.app.Activity.startActivity(Activity.java:2933)
03-20 19:13:21.039: E/AndroidRuntime(4147):     at com.android.wallpaper.livepicker.LiveWallpaperPreview.configureLiveWallpaper(LiveWallpaperPreview.java:125)
03-20 19:13:21.039: E/AndroidRuntime(4147):     ... 14 more
03-20 19:13:21.046: E/(1516): Dumpstate > /data/log/dumpstate_app_error

当我尝试访问其设置时,清单如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.miccialabs.liveballwallpaper"
android:versionName="1"
android:versionCode="1">

<uses-sdk android:minSdkVersion="7" />
<uses-feature android:name="android.software.live_wallpaper" />

<application android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:permission="android.permission.BIND_WALLPAPER">

<activity 
        android:name="com.miccialabs.liveballwallpaper.LiveBallWallpaperSettings"
        android:label="@string/liveWallpaper_settings"
        android:exported="true"
        android:icon="@drawable/ic_launcher">
    </activity>


    <service android:name="com.miccialabs.liveballwallpaper.BallLiveWallpaper"
        android:label="@string/app_name"
        android:icon="@drawable/ic_launcher">

        <intent-filter>
            <action android:name="android.service.wallpaper.WallpaperService" />
        </intent-filter>
        <meta-data android:name="android.service.wallpaper"
            android:resource="@xml/livewallpaper" />

    </service>
</application>

这是设置活动:

package com.miccialabs.liveballwallpaper;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceActivity;

public class LiveBallWallpaperSettings extends PreferenceActivity
implements SharedPreferences.OnSharedPreferenceChangeListener
{
@Override
protected void onCreate(Bundle icicle)
{
    super.onCreate(icicle);
  getPreferenceManager().setSharedPreferencesName(com.miccialabs.liveballwallpaper.BallLiveWallpaper.SHARED_PREFS_NAME);
    addPreferencesFromResource(R.xml.livewallpaper_settings);
    getPreferenceManager().getSharedPreferences()
            .registerOnSharedPreferenceChangeListener(this);
}

@Override
protected void onResume()
{
    super.onResume();
}

@Override
protected void onDestroy()
{
    getPreferenceManager().getSharedPreferences()
            .unregisterOnSharedPreferenceChangeListener(this);
    super.onDestroy();
}

public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
        String key)
{
}
}

我想念什么? 它说无法找到显式活动类,但我已经声明了,那怎么了?

据我所见,android尝试在此处找到您的Activity:

com.miccialabs.liveballwallpaper/com.miccialabs.LiveBallWallpaperSettings

因此,可能是LiveBallWallpaperSettings.java中的“包”未正确定义。

另外,您已经声明了您的程序包(“ com.miccialabs.liveballwallpaper”),因此对于“活动”的名称,您应该仅使用.ActivityName,如下所示:

<activity 
    android:name=".LiveBallWallpaperSettings"
    android:label="@string/liveWallpaper_settings"
    android:exported="true"
    android:icon="@drawable/ic_launcher">
</activity>

希望能帮助到你。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM