【发布时间】:2021-04-02 13:37:18
【问题描述】:
当我使用 compileSdkVersion 30 运行我的代码时不起作用,但在 29 代码中运行
Intent intent = new Intent();
intent.setPackage("com.androidlearn.securityman");
ServiceConnection serviceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
Log.e("","");
Toast.makeText(context,"onServiceConnected",Toast.LENGTH_LONG).show();
listener.onSuccess(IPaymentInterface.Stub.asInterface(service));
}
@Override
public void onServiceDisconnected(ComponentName name) {
Toast.makeText(context,"onServiceDisconnected",Toast.LENGTH_LONG).show();
Log.e("","");
listener.onFailure("connection failed");
}
};
context.bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
}
在 api 30 bindService 返回 false 并且 serviceConnection 不响应侦听器
如何解决这个问题?
【问题讨论】:
-
在Android 11上如何使用前台服务有一些不同...你可以从那里开始。
-
我只使用 binder ipc 而不是前台服务
-
当您调用“bindService”时,“上下文”是否有效且有效?如果您尝试从已停止/已完成的 Activity 绑定到 Service,它将返回 FALSE。
-
是的,活动正在运行。问题只是在 api 30 及以下版本没有任何问题
标签: android android-intent serviceconnection bindservice