我刚刚在Android Studio项目中添加了一项新活动,以便将应用权限检查移动到自己的活动中。
活动屏幕显示应用所需权限的说明以及用户在准备接受权限时点击底部的“继续”按钮的原因(或者如果他们愿意,可以拒绝他们)
我已将功能clickRequestPermissions
添加到该按钮,并添加了以下代码以让Android请求权限,但我收到错误activity
无法解析。
ActivityCompat.requestPermissions(activity,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION);
此活动的完整代码非常简单,因此我将其包含在此处,因为我认为问题可能出在我尝试使用上述代码段的地方 - activity
未知或不可用的地方
package com.myApp;
import android.Manifest;
import android.support.v4.app.ActivityCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class permissionsCheckAndSet extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_permissions_check_and_set);
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
}
public void clickRequestPermissions(View v) {
Toast.makeText(this, "Request permissions now", Toast.LENGTH_LONG).show();
doRequestPermissions();
}
public void doRequestPermissions() {
ActivityCompat.requestPermissions(activity,
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
MY_PERMISSIONS_REQUEST_ACCESS_FINE_LOCATION);
}
}
答案 0 :(得分:0)
使用"这个"或getApplicationContext()而不是"活动" :
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<button type="button" class="btn btn-info" style="border-radius:50%;margin-left:10px;
margin-top:2px;margin-bottom:2px;height:30px;width:30px;">
<span class="glyphicon glyphicon-plus"> </span>
</button>