私はXamarinとmvvmcrossでAndroidアプリを開発しています。 Android 6.0の場合、ランタイムアクセス権を要求するのに成功しました。うまくいきますが、私のMainActivityコードにアクセスできないため、onRequestPermissionsResultコールバックをオーバーライドする方法がわかりません。 Xamarin android onRequestPermissionsResultをオーバーライドする方法
あなたは
3
A
答えて
0
あなたは、実行時にパーミッションを要求し、結果を得るためにPermissions Plugin for Xamarinを使用することができますありがとうございました。
var status = await CrossPermissions.Current.CheckPermissionStatusAsync(Permission.Location);
if (status == PermissionStatus.Granted)
{
//Permission was granted.
}
2
あなたはジェームズMontemagnoが彼のXamarin.Plugins
の一つにAPI呼び出しをラップしたActivityLifecycleCallbacks
使用して、現在のActivity
にアクセスすることができます:あなたのApplication
サブクラス(MainApplication)で
https://github.com/jamesmontemagno/Xamarin.Plugins/tree/master/CurrentActivity
あなたをマイナーな設定をしてから、CrossCurrentActivity.Current
プロパティでActivity
にアクセスしてください。
public override void OnCreate() { base.OnCreate();
RegisterActivityLifecycleCallbacks(this);
}
public override void OnTerminate() {
base.OnTerminate();
UnregisterActivityLifecycleCallbacks(this);
}
public void OnActivityCreated(Activity activity, Bundle savedInstanceState) {
CrossCurrentActivity.Current.Activity = activity;
}
public void OnActivityResumed(Activity activity) {
CrossCurrentActivity.Current.Activity = activity;
}
で詳細を参照してください。http://motzcod.es/post/133609925342/access-the-current-android-activity-from-anywhere NuGetで利用可能
:http://www.nuget.org/packages/Plugin.CurrentActivity *あなたのXamarin.Androidクライアントのプロジェクトにインストールします。
Googleドキュメント:Application.ActivityLifecycleCallbacks
0
@Evk answerによると:
ほとんどの場合、あなたが(異なる名前空間でPermission
という名前のいくつかの種類がある)間違ったPermission
タイプを使用します。これを試してみてください:
class Aplication : Android.App.Activity,
Android.Support.V4.App.ActivityCompat.IOnRequestPermissionsResultCallback {
public override async void OnRequestPermissionsResult(
int requestCode,
string[] permissions,
Android.Content.PM.Permission[] grantResults
) {
}
}
関連する問題
- 1. Xamarin - OnRequestPermissionsResultをオーバーライドできません
- 2. Androidのjava.lang.IllegalStateException onRequestPermissionsResult()
- 3. onRequestPermissionsResult eclipse androidのエラー
- 4. onRequestPermissionsResult in Cordova android plugin
- 5. Android Retrofit - baseUrlをオーバーライドする方法
- 6. Androidキーボードをオーバーライドする方法
- 7. Xamarinフォーム:iOSでOnBackButtonPressedをオーバーライドする方法
- 8. 戻るボタンをオーバーライドする方法タイトル
- 9. xamarinでandroid studioのandroid SDKを使用する方法
- 10. xamarinフォームButtonRenderer onclickオーバーライド
- 11. OnRequestPermissionsResult():オーバーライドするのに適切なメソッドが見つからない
- 12. メソッドOnBackButtonPressed()をオーバーライドして、Xamarinフォームで2ページ以上をナビゲートする方法
- 13. Xamarin AndroidアプリからAndroidアプリを呼び出す方法
- 14. クラスメソッドをオーバーライドする方法
- 15. ConfigurationManager.ConnectionStrings.IsReadOnly();をオーバーライドする方法。
- 16. CSSをオーバーライドする方法
- 17. TextBlock.GetTextPositionFromPointをオーバーライドする方法?
- 18. Xamarin Androidサーフェイステクスチャリスナの設定方法
- 19. NLog in Xamarin Androidの使用方法
- 20. Androidデバイスでは電源ボタンをオーバーライドする方法
- 21. Androidローカルクラスのリモートパッケージでクラスをオーバーライドする方法
- 22. androidのActionModeのonActionItemClickedをオーバーライドする方法
- 23. Android NDK:JavaなしでNativeActivityでonBackPressedをオーバーライドする方法
- 24. Android ScrollViewの初期位置をオーバーライドする方法は?
- 25. Xamarinフォーム:Android - OnElementChanged()をオーバーライドする適切なメソッドが見つかりません
- 26. XamarinでSetActionを使用する方法
- 27. xamarin androidの画像をフルスクリーンで表示する方法は?
- 28. Xamarin Android - ビットマップ上でHTMLテーブルをレンダリングする方法
- 29. Xamarinにネイティブのiosとandroid sdkを統合する方法
- 30. xamarin androidのアクティビティ間でコードを共有する方法
私は同じ問題を抱えていますが、それを解決できましたか? –
あなたのどちらかが答えを見つけたのかどうか疑問に思います。私は 'Plugin.Permissions'を使用していますが、Xamarin Formsは使用していません。 Xamarinの "ネイティブ" Android。あなたが求めている方法で上書きするアクティビティを見つけましたか? – clay