2017-01-25 20 views
0

私のXamarin Androidアプリのアプリ設定ページを開く必要があります。 Javaの使用XamarinのAndroidアプリからアプリ設定ページを開きたい

、それはそれを行うための正しい方法であると思わ:

startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS, 
       Uri.parse("package:" + BuildConfig.APPLICATION_ID))); 

ので、C#を使用して、私が試した:

StartActivity(new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings, 
       Android.Net.Uri.Parse("package:" + BuildConfig.ApplicationId))); 

をこれは何もしません...私はせずに試した Uriパラメータを使用し、その場合は例外が発生します。

Android.Content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.APPLICATION_DETAILS_SETTINGS } 

私も試しました

StartActivityForResult(
    new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings), 0); 

同じ例外...

任意のアイデア?

ありがとうございました。

答えて

3

私はついにこの問題を発見しました。 Xamarinをされて使用して

StartActivity(new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings, 
      Android.Net.Uri.Parse("package:" + BuildConfig.ApplicationId))); 

それは動作しません

BuildConfig.ApplicationId 

だ...

正しいコール(私のために働いたか、少なくとも一つ)次に

StartActivity(new Intent(
    Android.Provider.Settings.ActionApplicationDetailsSettings, 
    Android.Net.Uri.Parse("package:"+ Android.App.Application.Context.PackageName))); 
2

Visual StudioとC#でXamarinを使用してもApplication.Context.PackageNameに切り替えました。

私はBuildConfig.ApplicationIdを使用してJavaのサンプルを見つけ出しましたが、C#ではこれが原因で同じ問題が発生しました。私たちの目標は異なっていますが、あなたの文法が私のために一歩進んでいることを確認したかったのです。

using Android.App; 
using Android.Net; 
... 
StartActivity(new Intent(
    Android.Provider.Settings.ActionApplicationDetailsSettings, 
    Uri.Parse("package:" + Application.Context.PackageName))); 
+0

嬉しいです:) – Sylvain

関連する問題