2017-06-08 10 views
0

を開始私はアンドロイド4.4をターゲットとし、このXamarin.Android:新しい意図

start.Click += delegate { 
    StartService(new Intent("com.xamarin.LocationService")); 
    start.Enabled = false; 
    stop.Enabled = true; 
}; 

のようなサービスを始めていたし、それはすべてうまく働きました。今、私は6.0をターゲットとし、これはセキュリティで保護されていない、と私はこれを行うべきであるとthis threadから見つけています:

Intent serviceIntent = new Intent(context,MyService.class); 
context.startService(serviceIntent); 

を私は「新しいテント()」の引数がどうあるべきかうまくいかないことができます。クラス名は 'LocationActivity'ですが、これを行うと

serviceIntent = new Intent(this, typeof(LocationActivity)); 
context.startService(serviceIntent); 

実際にはサービスは起動しませんが、実際には起動しません。

そのスレッドの著しい答えはまた、この

Intent bi = new Intent("com.android.vending.billing.InAppBillingService.BIND"); 
bi.setPackage("com.android.vending"); 

ことを示唆しているが、私は「意思がsetPackageの定義が含まれていない」ことを見つけることをしようとした場合。

誰かが解決策を教えてくれますか?前もって感謝します。

答えて

1

アクティビティを開始する場合は、StartServiceではなくStartServiceを使用する必要があります。 これを使用しますが、StartServiceからStartActivityに変更します。

serviceIntent = new Intent(this, typeof(LocationActivity)); 
context.startService(serviceIntent); 

から

serviceIntent = new Intent(this, typeof(LocationActivity)); 
context.StartActivity(serviceIntent); 
+0

ああ!私は_do_活動ではなく、サービスを開始したい。ですから、私の議論は、私が始めたいサービスのタイプでなければなりません。あなたの答えは間接的に解決策につながった: '新しいインテント(this、typeof(LocationService))' – quilkin