2016-04-26 32 views
0

您好,我一直在试图创建一个广播接收器,但我无法调用它,即从应用程序启动时启动它,这里是我的代码,请告诉我,是否有东西丢失或不在这里是我尝试到现在为止的事情无法在应用程序启动时调用广播接收器

<?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> 

这里是我的广播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

您正在使用启动完成的广播接收器,只有在重新启动后才能获得处理。这是你的意思吗?但是我无法称之为从应用程序启动开始呢? – Skynet

+0

@MikeM。你好迈克我开始我的申请至少一次,这样我就可以开始广播接收者 –

+0

@Skynet不,我想开始我的服务,只要我的应用程序一旦开始就像在水龙头上,它应该连续运行在后面 –

回答

1

这是如何工作的我的设备上

[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(); 
    } 
} 

不同的是[BroadcastReceiver(Enabled = true)]

而且我也没必要把receiver标签在我AndroidManifest.xml

+0

仍然无法正常工作 –

+1

您是否尝试过使用adb? 'adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -p {package-name}' – Matt

+0

我正在使用xamarin我不认为我可以做到这一点 –

相关问题