Permission Dispatcherを使用してMarshmallow権限を正常に処理しています。 $ {className} PermissionDispatcherの "this"にアクセスできない静的クラスで使用する方法はありますか?$ {method} WitchCheck(this)?"Permissions Dispatcher"を使用してMarshmallow権限を追加する
の作業例:
@RuntimePermissions
public class ContactsMapFragment extends mFragment implements OnMapReadyCallback {
@Override
public void onMapReady(@NonNull GoogleMap googleMap) {
if (DeviceUtils.isMarshmallow())
ContactsMapFragmentPermissionsDispatcher.setMapLocationWithCheck(this, googleMap);
else
googleMap.setMyLocationEnabled(true);
}
@NeedsPermission(Manifest.permission.ACCESS_FINE_LOCATION)
protected void setMapLocation(@NonNull GoogleMap gmap) {
gmap.setMyLocationEnabled(true);
}
}
しかし、この他のスニペットでは、私は静的クラスを持っているので、このが存在しません:
@RuntimePermissions
public class PhoneUtils
{
@NeedsPermission(Manifest.permission.CALL_PHONE)
public static void makeCall(String szNumber)
{
Intent intent = new Intent(
Intent.ACTION_CALL, // place a phone call directly
Uri.parse("tel:" + szNumber)
);
mActivity activity = Muffin.getInstance().getActivity();
if (activity == null)
return;
if (DeviceUtils.isMarshmallow())
PhoneHelperPermissionDispatcher.startCallWithCheck(this, activity, intent);
else
activity.startActivity(intent);
}
protected void startCall(mActivity activity, Intent intent)
{
activity.startActivity(intent);
}
}
はあなたの関連するコードを少し提供してくださいできますか? – Opiatefuchs
質問を編集しました – HelLViS69
これを試してみてくださいstackoverflow.com/a/41221852/5488468 –