我正在尝试使用adb和命令行模拟设备是否正在接收GCM推送消息.我试过这个命令来播放GCM意图:
adb shell am broadcast -c com.myapp -a com.google.android.c2dm.intent.RECEIVE -e data "SomeData"
Run Code Online (Sandbox Code Playgroud)
这会触发"权限拒绝"日志行:
09-19 12:23:34.820 725-787/? W/BroadcastQueue? Permission Denial: broadcasting Intent { act=com.google.android.c2dm.intent.RECEIVE cat=[com.myapp] flg=0x10 (has extras) } from null (pid=21244, uid=2000) requires com.google.android.c2dm.permission.SEND due to receiver com.myapp/com.google.android.gcm.GCMBroadcastReceiver
Run Code Online (Sandbox Code Playgroud)
我的清单的相关部分:
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<application>
<receiver
android:name="com.google.android.gcm.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="com.myapp" />
</intent-filter>
</receiver>
</application>
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
编辑/说明:推送/ GCM接收在生产中工作.我正在寻找一种更简单的方法来测试变化.
android ×1