【发布时间】:2018-08-20 04:39:30
【问题描述】:
我对 Android 和 Javascript 还很陌生。但是,我正在通过观看教程和提问来积极学习。现在,我正在尝试编写一个更改某些系统值的应用程序。我知道这只能通过授予我的应用 WRITE_SECURE_SETTINGS 权限来完成。通过我的研究,我意识到我不能在清单文件本身中声明权限。显然,唯一值得尊重的答案是检查用户是否已通过 ADB 授予权限。我找不到与此主题相关的任何内容,我希望你们能帮助我就如何正确执行此操作得出结论。到目前为止,这是我拥有的代码。
package com.datastream.settingschanger;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String requiredPermission = "android.permission.WRITE_SECURE_SETTINGS";
int checkVal = getContext().checkCallingOrSelfPermission(requiredPermission);
if (checkVal == PackageManager.PERMISSION_GRANTED) {
}
Toast.makeText(getActivity(), "WRITE_SECURE_SETTINGS has been granted to the application. You may now continue!",
Toast.LENGTH_LONG).show();
if (checkVal == PackageManager.PERMISSION_DENIED) {
}
Toast.makeText(getActivity(), "WRITE_SECURE_SETTINGS has not been granted to the application. Please grant access to continue.",
Toast.LENGTH_LONG).show();
}
}
但是,当我在 Android Studio 中运行它时,我会收到以下错误:
error: cannot find symbol method getContext()
error: cannot find symbol method getActivity()
error: cannot find symbol method getActivity()
谁能帮我解决这些错误?我不知道如何解决这个问题。谢谢!
【问题讨论】: