请建议我解决上述问题。 意味着将GCM令牌从一个应用程序发送到另一个应用程序,但第一个应用程序安装到sysyem中,但希望将GCM令牌放入android中的第二个应用程序。
mRegistrationProgressBar = (ProgressBar) findViewById(R.id.registrationProgressBar);
mRegistrationBroadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
mRegistrationProgressBar.setVisibility(ProgressBar.GONE);
SharedPreferences sharedPreferences =
PreferenceManager.getDefaultSharedPreferences(context);
boolean sentToken = sharedPreferences
.getBoolean(QuickstartPreferences.SENT_TOKEN_TO_SERVER, false);
if (sentToken) {
mInformationTextView.setText(getString(R.string.gcm_send_message));
} else {
mInformationTextView.setText(getString(R.string.token_error_message));
}
}
};
mInformationTextView = (TextView) findViewById(R.id.informationTextView);
// Registering BroadcastReceiver
registerReceiver();
if (checkPlayServices()) {
// Start IntentService to register this application with GCM.
Intent intent = new Intent(this, RegistrationIntentService.class);
startService(intent);
}
答案 0 :(得分:2)
为什么要在两个应用程序之间共享gcm令牌? GCM令牌应该对每个应用程序都是唯一的吗?
如果您仍希望将数据从一个应用程序发送到另一个应用程序,请使用actvities中的intent-filer。
final Intent intent = new Intent(Intent.ACTION_MAIN, null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
final ComponentName cn = new ComponentName(
"you.package.name",
"you.package.name.class");
intent.setComponent(cn);
intent.putExtra("token",token_value);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);