2016-04-26 10 views
0

Hallo, ich habe versucht, einen Broadcast-Empfänger zu erstellen, aber ich kann es nicht nennen, dh starten Sie es von der Anwendung Start hier ist mein Code bitte sagen Sie mir, ob etwas fehlt oder nicht hier bis jetzt die Dinge iIch kann Broadcast-Empfänger beim App-Start nicht anrufen

versucht
<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.testing.broacast" android:versionCode="1" android:versionName="1.0" android:installLocation="auto"> 
<uses-sdk android:minSdkVersion="16" /> 
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 
<application android:label="App4"></application> 
<receiver android:name=".Broadcast"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED" /> 
    </intent-filter> 
</receiver> 
</manifest> 

hier ist meine Sendung reciever

[BroadcastReceiver] 
[IntentFilter(new[] { Intent.ActionBootCompleted })] 


public class Broadcast : BroadcastReceiver 
{ 
    public override void OnReceive(Context context,Intent intent) 
    { 

      Toast.MakeText(context, "Hello", ToastLength.Long).Show(); 
      // Create your application here} 

    } 
} 
+0

Sie verwenden einen Boot-Completed-Broadcast-Empfänger, zu dem Sie erst nach einem Neustart ein Handle erhalten. Ist es das, was du meinst, indem du sagst, aber ich kann es nicht nennen, d. H. Es vom Start der Anwendung starten? – Skynet

+0

@MikeM. hallo mike Ich starte meine Anwendung atleast einmal, so dass ich Broadcast-Empfänger –

+0

@Skynet starten kann ich möchte meinen Dienst starten, sobald meine Anwendung einmal wie am Tippen gestartet wird und es kontinuierlich auf der Rückseite laufen sollte –

Antwort

1

Dies ist, wie es auf meinem Gerät arbeitet

[BroadcastReceiver(Enabled = true)] 
[IntentFilter(new[] { Intent.ActionBootCompleted })] 
public class Broadcast : BroadcastReceiver 
{ 
    public override void OnReceive(Context context, Intent intent) 
    { 
     Toast.MakeText(context, "Hello", ToastLength.Long).Show(); 
    } 
} 

Der Unterschied ist [BroadcastReceiver(Enabled = true)]

Auch habe ich nicht den receiver Tag in meinem AndroidManifest.xml setzen muß.

+0

funktioniert immer noch nicht –

+1

Haben Sie versucht, mit adb? 'adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -p {paketname}' – Matt

+0

ich benutze xamarin ich glaube nicht, dass ich das tun kann –