gpt4 book ai didi

java - MainActivity.java : uses or overrides a deprecated API. 使用 -Xlint 重新编译:详细信息已弃用

转载 作者:行者123 更新时间:2023-11-30 05:50:44 26 4
gpt4 key购买 nike

我不知道如何解决这个问题。
当我尝试将文件夹编译为 APK 文件时,出现消息:

MainActivity.java uses or overrides a deprecated API.

我正在使用 Android Studio 版本 3.2.0 和 Java 版本 8。我尝试了一切,但它不起作用。我也在网上搜索过,但没有得到答案。

package com.kakao.talk.theme.apeach;

import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager.NameNotFoundException;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;

public class MainActivity extends Activity {
private static final String KAKAOTALK_SETTINGS_THEME_URI =
"kakaotalk://settings/theme/";
private static final String MARKET_URI = "market://details?id=";
private static final String KAKAO_TALK_PACKAGE_NAME = "com.kakao.talk";

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_activity);

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
try {
Window window = this.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(getResources().getColor(R.color.statusBarColor));
} catch (Throwable ignored) {
}
}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
try {
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
} catch (Throwable ignored) {
}
}

final Button applyButton = (Button) findViewById(R.id.apply);
applyButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
final Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(KAKAOTALK_SETTINGS_THEME_URI + getPackageName()));
startActivity(intent);
finish();
}
});

final Button installButton = (Button) findViewById(R.id.market);
installButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(MARKET_URI + KAKAO_TALK_PACKAGE_NAME));
startActivity(intent);
finish();
}
});

try {
getPackageManager().getPackageInfo(KAKAO_TALK_PACKAGE_NAME, 0);
applyButton.setVisibility(View.VISIBLE);
installButton.setVisibility(View.GONE);
} catch (NameNotFoundException e) {
applyButton.setVisibility(View.GONE);
installButton.setVisibility(View.VISIBLE);
}
}

}

最佳答案

欢迎来到 StackOverflow!

在您的代码中,在版本检查之后,您尝试使用 getResources().getColor() 设置窗口状态颜色,该函数现已弃用几年了。

您可以使用ContextCompat实现此目的:ContextCompat.getColor(context, R.color.color_name)

您应该将 R.color.color_name 更改为您所需的资源(在您的情况下应该是 R.color.statusBarColor),并传递正确的上下文(其中应该是getApplicationContext())。

更多信息可以在 this post 上找到。 ,永远不要忘记 great google's documentation on Android .

关于java - MainActivity.java : uses or overrides a deprecated API. 使用 -Xlint 重新编译:详细信息已弃用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53946766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com