首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Android中向其他应用发送消息?

如何在Android中向其他应用发送消息?
EN

Stack Overflow用户
提问于 2019-07-15 20:39:26
回答 1查看 41关注 0票数 0

我想在我的应用程序中编程一个音乐控制器,这样我就可以从另一个内置的音乐应用程序中播放/暂停、nextSong和previousSong我的播放列表。我已经看到了使用广播发送消息给所有音乐播放器的解决方案,例如,开始播放音乐。问题是,音乐开始在我安装的三个不同的音乐播放器上播放。有没有人知道用什么来代替sendBroadcast,这样消息只会被发送到我想要的应用程序?

这是我在网上找到的解决方案。它使用sendBroadcast()函数。这条消息被广播到我不想要的每一个音乐播放器。我希望它只发送到一个特定的应用程序

代码语言:javascript
复制
long eventTime = SystemClock.uptimeMillis();

/*NEXT*/
Intent downIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
KeyEvent downEvent = new KeyEvent(eventTime, eventTime, 
    KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_MEDIA_PREVIOUS, 0);
downIntent.putExtra(Intent.EXTRA_KEY_EVENT, downEvent);
sendBroadcast(downIntent, null);

Intent upIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null);
KeyEvent upEvent = new KeyEvent(eventTime, eventTime, 
    KeyEvent.ACTION_UP, KeyEvent.KEYCODE_MEDIA_PREVIOUS, 0);
upIntent.putExtra(Intent.EXTRA_KEY_EVENT, upEvent);
sendBroadcast(upIntent, null);
EN

回答 1

Stack Overflow用户

发布于 2019-07-15 21:04:44

首先,在menifest文件中声明接收者:

代码语言:javascript
复制
<receiver android:name=".MyBroadcastReceiver"
android:enabled="true"
android:exported="true">
    <intent-filter>
      <action android:name="com.pkg.perform.Ruby" />
    </intent-filter>

在我的例子中,我是这样使用的:

代码语言:javascript
复制
   final Intent intent=new Intent();
intent.setAction("com.pkg.perform.Ruby");
intent.putExtra("KeyName","code1id");
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
intent.setComponent(  
    new ComponentName("com.pkg.AppB","com.pkg.AppB.MyBroadcastReceiver"));  
sendBroadcast(intent);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57039948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档