Android 通过adb发广播的形式开启activity
来源:互联网 发布:徐娇的淘宝汉服网店 编辑:程序博客网 时间:2024/05/18 23:25
Android中有很多时候需要通过adb中打开一个界面,这个时候就需要通过发广播的形式,开启一个界面了例如通过广播开启一个特定界面
adb shell am broadcast -a android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS
adb shell am具体参数如下
am usage: am [subcommand] [options] start an Activity: am start [-D] [-W] <INTENT> -D: enable debugging -W: wait for launch to complete start a Service: am startservice <INTENT> send a broadcast Intent: am broadcast <INTENT> start an Instrumentation: am instrument [flags] <COMPONENT> -r: print raw results (otherwise decode REPORT_KEY_STREAMRESULT) -e <NAME> <VALUE>: set argument <NAME> to <VALUE> -p <FILE>: write profiling data to <FILE> -w: wait for instrumentation to finish before returning start profiling: am profile <PROCESS> start <FILE> stop profiling: am profile <PROCESS> stop <INTENT> specifications include these flags: [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] [-c <CATEGORY> [-c <CATEGORY>] ...] [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...] [--esn <EXTRA_KEY> ...] [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...] [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...] [-n <COMPONENT>] [-f <FLAGS>] [--grant-read-uri-permission] [--grant-write-uri-permission] [--debug-log-resolution] [--activity-brought-to-front] [--activity-clear-top] [--activity-clear-when-task-reset] [--activity-exclude-from-recents] [--activity-launched-from-history] [--activity-multiple-task] [--activity-no-animation] [--activity-no-history] [--activity-no-user-action] [--activity-previous-is-top] [--activity-reorder-to-front] [--activity-reset-task-if-needed] [--activity-single-top] [--receiver-registered-only] [--receiver-replace-pending] [<URI>]
总结下adb shell am 用法
adb shell am activity/service/broadcast -a ACTION -c CATEGORY -n NAME
1、启动activity/service
在adb shell中,通过am命令行启动一个Activity程序:
am start -a android.intent.action.MAIN -n com.koushikdutta.superuser/com.koushikdutta.superuser.SuperuserRequestActivity --ei uid %d --ei pid %d
-a 表示action (android.intent.action.MAIN)-n 表示packagename (com.koushikdutta.superuser)SuperuserRequestActivity是对应的Activity name
在清单文件中
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="4" android:versionName="1.0.3" package="com.koushikdutta.superuser"> <application android:icon="@drawable/icon" android:label="@string/app_name" android:debuggable="true"> <activity android:name=".SuperuserActivity" android:label="Superuser Whitelist"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SuperuserRequestActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> </application> </manifest>
2、发送broadcast,比如在模拟器中发生关机的broadcast
F:\>adb shell am broadcast -a android.intent.action.ACTION_SHUTDOWN -c android.intent.category.HOME-n com.andy.androidtest/.ShutdownBroadcastReceiver
结果:
Broadcasting: Intent { act=android.intent.action.ACTION_SHUTDOWN cat=[android.intent.category.HOME]cmp=com.andy.androidtest/.ShutdownBroadcastReceiver }Broadcast completed: result=0
相关源代码:ShutdownBroadcastReceiver.java
public class ShutdownBroadcastReceiver extends BroadcastReceiver { private static final String TAG = "ShutdownBroadcastReceiver"; public ShutdownBroadcastReceiver(){ } //Once boot completed,start server public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(Intent.ACTION_SHUTDOWN)) { //Toast.makeText(context, "Ready to shutdown....", 1000); Log.v(TAG,"action:"+action); } } }
AndroidManifest.xml:
<receiver android:name=".ShutdownBroadcastReceiver" > <intent-filter> <action android:name="android.intent.action.ACTIOIN_SHUTDOWN" /> <action android:name="android.intent.action.QUICKBOOT_POWEROFF" /> </intent-filter> </receiver>
阅读全文
0 0
- Android 通过adb发广播的形式开启activity
- Android Service与Activity之间通信的几种方式(1)---通过broadcast(广播)的形式
- Android开发之AlarmManager的使用(开启Activity、开启服务、开启广播)
- Android 通过广播启动Activity
- Android中Activity按钮发广播
- Activity间通过广播形式动态进行数据传输
- Android中通过ADB手动发送广播
- android--通过广播启动另一个应用的Activity
- Android通过ADB命令获取当前运行的Activity
- 广播中开启Activity
- Android 通过adb shell am broadcast发送广播 adb命令
- android通过Intent对象开启一个新的activity
- android中以自定义广播的形式销毁栈中的任意的Activity
- 通过adb 发送广播
- 通过adb 发送广播
- adb手机刷机\adb 发广播
- Android adb 发送广播、启动Activity、Service等
- 通过广播启动另一个应用的Activity
- requireJS多页面应用实例
- mysql索引总结----mysql 索引类型以及创建
- react-native 侧滑组件 react-native-swipe-list-view
- 1170: 最长字符串(指针专题)
- UnicodeDecodeError: 'utf8' codec can't decode byte 0xd6 in position 0: invalid continuation byte
- Android 通过adb发广播的形式开启activity
- QNX system architecture 3
- .NET图像处理库ImageGear for .NET v23.2发布,增加新的PDF压缩功能
- csu1815
- 非常见降维方法:Laplacian Eigenmaps 拉普拉斯特征映射
- 全国省市列表SQL格式
- Linux_磁盘管理
- Showing Recent Issues Command /Applications/Xcode.app/Contents/Developer/usr/bin/copypng failed wit
- 万字长文 | 详解优维科技内部DevOps研发实践 | 演讲实录