尝试将墙纸设置为活动背景时应用程序崩溃



我遇到一个问题,即我的应用程序在尝试将活动主题设置为默认壁纸时崩溃。我不知道是什么原因造成的,因为我是Android的新手。感谢帮助!

安卓清单.xml

 <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <uses-feature android:name="android.hardware.telephony"/>
        <activity android:name=".WelcomeActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity 
            android:name=".Launcher"
            android:theme="@style/Wallpaper" > <!-- HERE IT IS -->
            <category android:name="android.intent.category.HOME" />
            <category android:name="android.intent.category.DEFAULT" />
        </activity>
    </application>

风格.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@android:color/transparent</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
<!--HERE IT IS -->
<style name="Wallpaper" parent="@android:style/Theme.Wallpaper"></style>

爪哇岛

package com.visualartsinternational.www.artui;
import android.os.Build;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
public class Launcher extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_launcher);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            Window w = getWindow(); // in Activity's onCreate() for instance
            w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
        }
    }
}

设置壁纸

 WallpaperManager wallpaperManager = WallpaperManager.getInstance(DetailActivity.this);
                                    try {
                                        wallpaperManager.setBitmap("Add your image");
                                        wallpaperManager.suggestDesiredDimensions(width, height);
                                        Toast.makeText(DetailActivity.this, "Wallpaper Set", Toast.LENGTH_SHORT).show();
                                    } catch (IOException e) {
                                        e.printStackTrace();
                                    }

清单在清单文件中添加权限

 <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SET_WALLPAPER" />
    <uses-permission android:name="android.permission.SET_WALLPAPER_HINTS" />

我通过将AppCompatActivity更改为Activity来完全解决此问题。

最新更新