为啥这段代码没有收到我的广播?
Posted
技术标签:
【中文标题】为啥这段代码没有收到我的广播?【英文标题】:Why my broadcast is not received in this code?为什么这段代码没有收到我的广播? 【发布时间】:2015-09-07 15:37:13 【问题描述】:为什么这段代码没有收到我的广播? 我在下面发布我的代码。当我运行它时,我可以看到发送者广播意图。 但是接收方没有响应。 我已经在棒棒糖 AVD 上测试过了。
收货人清单<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="kr.co.company.mybroadcastreceiver" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="kr.co.company.START_WEB" />
</intent-filter>
</receiver>
</application>
</manifest>
接收者代码
public class MyBroadcastReceiver extends BroadcastReceiver
@Override
public void onReceive(Context context, Intent intent)
Uri uri = Uri.parse("http://www.google.com");
Intent intent1 = new Intent(Intent.ACTION_VIEW, uri);
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent1 );
发件人代码
public class MyBroadcastSender extends Activity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_broadcast_sender);
Button click = (Button) findViewById(R.id.click);
click.setOnClickListener(new Button.OnClickListener()
@Override
public void onClick(View v)
Intent intent = new Intent();
intent.setAction("kr.co.company.START_WEB");
sendBroadcast(intent);
);
【问题讨论】:
【参考方案1】:如果另一个应用程序正在发送意图,您应该将其添加到清单中的接收者定义中:
android:exported="true"
【讨论】:
以上是关于为啥这段代码没有收到我的广播?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在 Swift 中没有收到来自 Firebase 的推送通知?