當我試圖除錯我的應用程式時,我遇到了這個錯誤
java.lang.NoSuchMethodError: requestPermissions([Ljava/lang/String;I)V在class Lcom/scodetech/townclap/activity/LoginActivity。或其super classes (declaration of 'com. 的宣告出現在/data/app/com.zestar.myclip-1/base.apk:classes2.dex)。
at com.zestar.myclip.activity.LoginActivity.onCreate(LoginActivity.java:92)
logcat指向了這一行代碼
requestPermissions(new String[]{Manifest. permission.CALL_PHONE, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION}, 1)。)
這一行有什么問題呢
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(s savedInstanceState)。
setContentView(R.layout.activity_login)。
ButterKnife.bind(this)。
FirebaseApp.initializeApp(this)。
requestPermissions(new String[]{Manifest.permission.CALL_PHONE, Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION}, 1)。)
custPrograssbar = new CustPrograssbar() 。
sessionManager = new SessionManager(LoginActivity.this) 。
atCode.setOnFocusChangeListener((view, b) -> {
if (!b) {
// On focus off
String str = atCode.getText().toString()。
ListAdapter listAdapter = atCode.getAdapter() 。
for (int i = 0; i < listAdapter.getCount(); i ) {
String temp = listAdapter.getItem(i).toString() 。
if (str.compareTo(temp) == 0) {
return;
}
}
atCode.setText(""/span>)。
}
});
getCodelist()。
}
uj5u.com熱心網友回復:
正如requestPermissions像@TylerV所說,嘗試用這種方式代替
中所指示的那樣
如何請求應用程式權限的檔案 | Android 開發人員
這應該是在片段中請求權限的正確方式,它是這樣的:
private ActivityResultLauncher requestPermissionLauncher =
registerForActivityResult(new ActivityResultContracts.RequestMultiplePermissions(), result -> { {{
//result是一個map(string permission,boolean granted or not)。
//檢查所有權限是否被授予。
if(result.containsValue(false)){
//向用戶解釋該功能不可用的原因。
//該功能需要一個用戶已拒絕的權限。
//同時,尊重用戶的決定。不要鏈接到
//系統設定的鏈接,以說服用戶改變。
//>他們的決定。
Toast.makeText(getContext(), "沒有必要的權限不能繼續", Toast.LENGTH_LONG).show()。
}
else {
//繼續你的作業流。
}
});
- 當你需要請求一個權限時,你在你宣告的物件上呼叫啟動,該物件有一個持有你所請求的權限的陣列:
if (ActivityCompat.checkSelfPermission(getContext(),
Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED ||
ActivityCompat.checkSelfPermission(getContext(),
Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED ||
ActivityCompat.checkSelfPermission(getContext(),
Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.ACCESS_FINE_LOCATION) {
requestPermissionLauncher.launch(new String[]{Manifest.permission.CALL_PHONE,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION})。)
} else // continue your work
uj5u.com熱心網友回復:
當例外發生時,請提供你的日志。也許錯誤是由于android的版本問題。你必須檢查android版本是否大于Api級別26(Marshmallow):
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
requestPermissions(INITIAL_PERMS, INITIAL_REQUEST)。
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/321078.html
標籤:
上一篇:我無法讀取影像。它顯示以下錯誤
下一篇:HTML5期末大作業:紅酒主題網站設計——簡潔紅酒介紹網頁(7頁) HTML+CSS+JavaScript...
