【问题标题】:live wallpaper-settings button is not working动态壁纸设置按钮不起作用
【发布时间】:2026-01-27 15:35:02
【问题描述】:

好的,这是我正在开发的第一个应用程序,一切正常,直到我想为我的动态壁纸添加一个设置按钮,问题是,当我简单地点击“设置”时,它会出现以下消息“动态壁纸选择器已停止”。这是我的代码

Android 清单

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.Live.zaki"
  android:versionCode="1"
   android:versionName="1.0" >

   <uses-sdk
    android:minSdkVersion="10"
    android:targetSdkVersion="16" />

   <application
     android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.ui.MainActivity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:exported="true"
        android:label="@string/app_name"
        android:theme="@style/FullscreenTheme" >
         />


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

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    android:label="@string/appName"
    android:icon="@drawable/icon">


    <service
        android:name="com.Live.zaki.CustomWallpaper"
        android:label="@string/appName"
        android:permission="android.permission.BIND_WALLPAPER" >
        <intent-filter>
            <action android:name="android.service.wallpaper.WallpaperService" />
        </intent-filter>

        <meta-data
            android:name="android.service.wallpaper"
            android:resource="@xml/wallpaper" />
    </service>

    <activity
        android:name="com.example.ui.SecondActivity"
        android:label="Home" >
    </activity>
    <activity
      android:name=".PrefsActivity"
    android:theme="@android:style/Theme.Black.NoTitleBar" >
    </activity>
    </application>

     </manifest>

壁纸.xml

<wallpaper xmlns:android="http://schemas.android.com/apk/res/android" 
android:thumbnail="@drawable/icon"
android:description="@string/appDescription"
android:settingsActivity="com.Live.zaki.PrefsActivity"
/>

prefs.xml

     <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory 
    android:title="@string/general_lwp_settings">

    <CheckBoxPreference
        android:key="lwp_o_scroll_lock_key"
        android:summary="@string/lwp_o_scroll_lock_summary"
        android:title="@string/lwp_o_scroll_lock_title"
        android:defaultValue="false" />
  <CheckBoxPreference
        android:key="lwp_auto_animation_key"
        android:summary="@string/lwp_auto_animation_summary"
        android:title="@string/lwp_auto_animation_title"
        android:defaultValue="false" />
   </PreferenceCategory>

PrefsActivity.java

public class PrefsActivity extends PreferenceActivity{@Override
protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 addPreferencesFromResource(com.Live.zaki.R.xml.prefs);
 }
 }

我还没有在我的主 livewallpaper.java 代码上配置任何偏好逻辑,我只想让设置菜单弹出“我的情况下的两个复选框”。这甚至可能吗? 如果有人可以帮助我,那就太好了!提示,教程任何东西! 这是我没有设置的申请结果,

https://drive.google.com/file/d/0B44QwXQHh5irNFRnYkhzdDhPM00/edit?usp=sharing

【问题讨论】:

    标签: java eclipse settings live-wallpaper


    【解决方案1】:

    buddy 在设置活动中添加导出标志并将其设置为 true android:exported="true"

    【讨论】:

    • 现在可以正常工作了,兄弟,非常感谢您,非常感谢您...现在可以恢复业务了,感谢您!谢谢你一百万次^^
    • 我很高兴兄弟.. 这是我的职责
    【解决方案2】:
    1. 将 xml 文件夹壁纸.xml 文件中的包名称更改为完全限定名称。

      android:settingsActivity="yourPackagename.PrefsActivity"
      
    2. 在 Manifest 文件中添加:

      <activity
      android:exported="true"
      android:name=".PrefsActivity"
      android:theme="@android:style/Theme.Black.NoTitleBar">
      

    【讨论】: