Tôi đang phát triển một ứng dụng cần có tài khoản Google cho các tùy chọn nhất định. Tùy chọn bị tắt khi không có tài khoản nào được phát hiện, nhưng tôi trình bày cho người dùng thêm tài khoản bằng cách yêu cầu qua cửa sổ bật lên, nếu người dùng nhấp vào có, hoạt động sẽ bắt đầu. Nó hoạt động tốt để hiển thị trang "Thêm tài khoản" toàn cầu, nhưng tôi muốn bỏ qua bước đó chưa được thêm cho bước bổ sung. Sau khi tất cả, tại sao người nào đó có tùy chọn thêm tài khoản Exchange nếu cần tài khoản Google, điều đó chỉ gây nhầm lẫn. Vì vậy, tôi muốn đặt mặc định thành trang thiết lập tài khoản Google mới.Bắt đầu lập trình hoạt động 'Thêm tài khoản Google' theo cách lập trình trong Android
Java
try {
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName("com.google.android.gsf", "com.google.android.gsf.login.AccountIntroActivity");
//if(getApplicationContext().getPackageManager().resolveActivity(intent, PackageManager.MATCH_DEFAULT_ONLY) != null) {
getApplicationContext().startActivity(intent);
//} else {
//getApplicationContext().startActivity(new Intent(Settings.ACTION_ADD_ACCOUNT).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
//}
} catch (ActivityNotFoundException e) {
e.printStackTrace();
}
Khi tôi chạy này, exeception sau được ném:
05-29 18: 24: 50,741: W/System.err (10.875): android.content .ActivityNotFoundException: Không thể tìm thấy lớp hoạt động rõ ràng {com.google.android.gsf/com.google.android.gsf.login.AccountIntroActivity}; bạn đã tuyên bố hoạt động này trong tệp AndroidManifest.xml của mình chưa?
AndroidManifest.xml
<activity
android:name="com.google.android.gsf.login.AccountIntroActivity"/>
HỎI: những gì tôi thiếu ở đây?
EDIT:
Tôi đã thử một cách khác nhau sử dụng addAccount, điều này không làm việc, không có gì xảy ra, không có lỗi được ném, không có hoạt động mới bắt đầu để thêm tài khoản Google. Nhân tiện, toàn bộ khối try try trong phiên bản gốc là trong một AlertDialog/listener.
AccountManager acm = AccountManager.get();
acm.addAccount("com.google", null, null, null, null, null, null);
Tôi cảm thấy như một d ***, nhưng tôi đoán tôi phải gắn cờ câu trả lời của riêng tôi như đã trả lời ngay bây giờ. Cảm ơn tất cả sự kiên nhẫn và giúp đỡ của bạn @Nikolay Elenkov! – slinden77
Có phải "thisclassname" là một lớp thực tế không? –