Android Firebase:连接到同一Firebase项目的两个应用程序之一不';t向数据库发送数据
在发布这个问题之前,我搜索了很多,但没有得到答案。我的问题是: 在使用Firebaseandroid时,我多次注意到,每当我将两个不同的应用程序连接到同一个Firebase项目时,如果我在同一台设备上安装这两个应用程序,其中一个可以向数据库发送/检索数据,而另一个则不能。例如: 1。我最近开发了一个Uber clone应用程序,我意外地将rider和driver应用程序安装在同一个模拟器设备上,其中一个应用程序无法向firebase发送数据,但当我在不同的设备上运行它们时,一切正常 2.现在,我正在从事一个大学项目EBus,该项目有两个模块,一个用于学生,另一个用于司机。我今天正在使用手机进行测试。我开始开发我的驱动程序应用程序,并将其安装在手机上,而学生应用程序已经安装,我无法将数据发送到Firebase实时数据库。但是,当我在另一台设备上安装驱动程序时,一切都正常 我的代码:Android Firebase:连接到同一Firebase项目的两个应用程序之一不';t向数据库发送数据,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,在发布这个问题之前,我搜索了很多,但没有得到答案。我的问题是: 在使用Firebaseandroid时,我多次注意到,每当我将两个不同的应用程序连接到同一个Firebase项目时,如果我在同一台设备上安装这两个应用程序,其中一个可以向数据库发送/检索数据,而另一个则不能。例如: 1。我最近开发了一个Uber clone应用程序,我意外地将rider和driver应用程序安装在同一个模拟器设备上,其中一个应用程序无法向firebase发送数据,但当我在不同的设备上运行它们时,一切正常 2.现在,我
public class QrScanFragment extends Fragment {
public static TextView tvName, tvRegNo, tvDept, tvRoute, tvRouteNo;
public static final int STATIC_INTEGER = 4843;
// Database
FirebaseDatabase database;
DatabaseReference seatsRef;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_qr_scan, container, false);
database = FirebaseDatabase.getInstance();
seatsRef = database.getReference(Common.SEATS_REFERENCE);
tvName = view.findViewById(R.id.tv_name);
tvRegNo = view.findViewById(R.id.tv_reg_no);
tvDept = view.findViewById(R.id.tv_dept);
tvRoute = view.findViewById(R.id.tv_route);
tvRouteNo = view.findViewById(R.id.tv_route_no);
// Sending data here
seatsRef.child(tvRouteNo.getText().toString()).child(Common.AVAILABLE_SEATS).setValue("15", new DatabaseReference.CompletionListener() {
@Override
public void onComplete(@Nullable DatabaseError error, @NonNull DatabaseReference ref) {
if (error != null){
Toast.makeText(getActivity(), error.getMessage(), Toast.LENGTH_SHORT).show();
}
}
});
view.findViewById(R.id.btn_qr_scan).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(getActivity(), QrScannerActivity.class));
}
});
return view;
}
@Override
public void onPause() {
super.onPause();
}
@Override
public void onResume() {
super.onResume();
}}
我们有两个独特的证书用于签署您使用Android Studio开发的应用程序。调试证书用于对正在开发和测试的应用程序进行签名。另一方面,发布证书用于在应用程序准备好上传到Google Play商店时对其进行签名
这些证书采用SHA-1指纹的形式,最终,发布和调试指纹都需要添加到Firebase项目中,Android应用程序与之关联,以便使用Google登录提供商。您使用Firebase身份验证吗?我还没有真正面对这个问题,你确定你使用了正确的凭证吗?@AlexMamo是的,我在学生应用程序中使用,但在司机应用程序中没有使用。@Dharmaraj是的,我已经仔细检查了凭证。为了进一步澄清,我添加了代码。在我的情况下,登录提供商不是问题所在。但它通过将我的应用程序的SHA-1键添加到firebase控制台解决了我的问题。向上投票。谢谢