这是一个运行子进程的简单脚本,它ifconfig从终端的命令输出中检索IP .我注意到subprocess.check_output()总是返回一个值\n.
我渴望得到一个返回值无\n.如何才能做到这一点?
$ python
>>> import subprocess
>>> subprocess.check_output("ifconfig en0 | awk '{ print $2}' | grep -E -o '([0-9]{1,3}[\.]){3}[0-9]{1,3}'", shell=True)
'129.194.246.245\n'
Run Code Online (Sandbox Code Playgroud) 我正在尝试让Android系统收到Firebase Cloud消息通知时运行Android BroadcastReceiver。
public class MyBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = "MyBroadcastReceiver";
@Override
public void onReceive(final Context context, Intent intent) {
Toast.makeText(context, "EVENT OCCURED", Toast.LENGTH_LONG).show();
}
}
Run Code Online (Sandbox Code Playgroud)
在AndroidManifest中需要这样指定接收者标签:
<receiver
android:name=".MyBroadcastReceiver" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
如您在上面的清单中所见,我添加了:
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"/>
Run Code Online (Sandbox Code Playgroud)
以确保当我将电缆插入Android设备时会触发BroadcastReceiver。工作正常。
因此,问题在于:
<action android:name="com.google.firebase.MESSAGING_EVENT" />
Run Code Online (Sandbox Code Playgroud)
广播接收器无法识别此意图过滤器动作吗?BroadcastReceiver使用的Firebase消息是否还有另一个意图过滤器动作?