我有需要現在被認爲「關鍵」,所以我下面我在活動中加入準則HERE的onCreate本科特棉花糖不會顯示許可窗口
private static final int REQUEST_WRITE_CALENDAR = 1453;
...
boolean hasPermission = (ContextCompat.checkSelfPermission(activity,
Manifest.permission.WRITE_CALENDAR) == PackageManager.PERMISSION_GRANTED);
if (!hasPermission) {
ActivityCompat.requestPermissions(parentActivity,
new String[]{Manifest.permission.WRITE_CALENDAR},
REQUEST_WRITE_CALENDAR);
}
但是,這並不表明寫入日曆中的應用任何對話。
此外,似乎我應該也廣告的代碼塊來處理響應
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode)
{
case REQUEST_WRITE_STORAGE: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
{
//reload my activity with permission granted or use the features what required the permission
} else
{
Toast.makeText(parentActivity, "The app was not allowed to write to your calendar.", Toast.LENGTH_LONG).show();
}
}
}
}
Android的SDK目標爲23,是正確的。所以問題的原因與提出的可能重複的問題不同。
什麼是您的'targetSdkVersion'? – CommonsWare
Marsmellow。 Niefs Works建議的方法...我不知道爲什麼官方示例拒絕工作 – AndreaF
'if(!permission_ok)== PackageManager.PERMISSION_GRANTED)){'是錯誤的並且不能編譯 – njzk2