您好我开发了一个Android应用程序。它包含具有单独进程的服务。我希望从我的服务到MainActivity进行通信。如果我不使用单独的进程,它可以工作,但如果进行单独的过程,MainActivity不会接收广播。 在这里,清单:
application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name=".BluetoothLeService$MyReceiver"/>
<service android:name=".BluetoothLeService"
android:enabled="true"
android:exported="true"
android:process=":service"/>
这是在我的服务中:
public void sendResult(String message) {
Intent intent = new Intent("ui");
if(message != null)
intent.putExtra("updateui", message);
broadcaster.sendBroadcast(intent);
}
MainActivity:
@Override
protected void onStart() {
super.onStart();
LocalBroadcastManager.getInstance(this).registerReceiver((receiver),
new IntentFilter("ui")
);
}
@Override
protected void onStop() {
LocalBroadcastManager.getInstance(this).unregisterReceiver(receiver);
super.onStop();
}
...
......
receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String s = intent.getStringExtra("updateui");
Log.d("stringa s ",s);
if(s.equals("1")) set_color();
}
}
我如何为我的单独进程编辑代码??? 谢谢
已解决:我已删除localbroadcast !!