android 发送振动命令,Android使用命令adb shell am broadcast发送广播及代码示例

本文介绍了如何在Android中通过adb shell am broadcast命令发送广播,以及如何注册和配置广播接收器来监听特定广播。示例代码包括了BroadcastReceiver的实现和AndroidManifest.xml中的配置。在命令行中使用adb命令发送广播时,需要指定action和应用包名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android中使用命令 adb shell am broadcast 发送广播。

代码:

注册一个广播接收器,用来监听广播,如果收到了自己监听到的广播,则打印一条log:

public class MyBroadcastReceiverextends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

Log.d("MyBroadcastReceiver","onReceive: start...");

throw new UnsupportedOperationException("Not yet implemented");

}

}

监听的广播内容在AndroidManifest.xml设置:

让广播接收器MyBroadcastReceiver去监听一条com.chen.broadcasttest.MY_BROADCAST的广播

android:name=".MyBroadcastReceiver"

android:enabled="true"

android:exported="true">

MainActivity只打印一条log

public class MainActivity extends AppCompatActivity {

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

Log.d("MainActivity", "starts...");

}

}

启动app后,在cmd中输入

adb shell am broadcast -a com.chen.broadcasttest.MY_BROADCAST com.chen.broadcasttest

其中参数 -a表示action;

com.chen.broadcasttest.MY_BROADCAS是广播接收器想要监听的广播名称

com.chen.broadcasttest是app的包名。在我的环境中,不加入包名则无法发送广播,不知道为什么。

执行:

C:\Users\chen>adb shell am broadcast -a com.chen.broadcasttest.MY_BROADCAST com.chen.broadcasttest

Broadcasting: Intent { act=com.chen.broadcasttest.MY_BROADCAST flg=0x400000 pkg=com.chen.broadcasttest }

Broadcast completed: result=0

Android Studio中logcat的结果:

2019-08-09 09:30:11.480 20631-20631/com.chen.broadcasttest D/MyBroadcastReceiver: onReceive: start...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值