一个应用启动另外一个应用的Service

应用A启动应用B的Service

  • 应用A
public class MainActivity extends AppCompatActivity {
    
    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

    }

    public void startService(View view) {
    
    
        Intent intent = new Intent();
        intent.setComponent(new ComponentName("com.example.serviceb", "com.example.serviceb.AppService"));//第一个参数是包名,第二个是类名
        intent.putExtra("xx", "test");
        startService(intent);
    }
}
  • 被启动的应用B
        <service
            android:name=".AppService"
            android:exported="true" />
public class AppService extends Service {
    
    
    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
    
    
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
    
    
        Log.i("xx", intent.getStringExtra("xx"));
        return super.onStartCommand(intent, flags, startId);
    }
}
  • 先把应用A,应用B都安装运行。点击应用A的按钮,就可以启动应用B的service了。如图:

Supongo que te gusta

Origin blog.csdn.net/zhangjin1120/article/details/122260543
Recomendado
Clasificación