Android獲取極光推送registrationID最終解決辦法
阿新 • • 發佈:2019-02-07
上篇說到,在Application中獲取registrationID的方法,有一個嚴重的錯誤,就是當第一次進入app中,獲取不到registrationID,原因如下:極光還沒有註冊完成就獲取registrationID,當然獲取不到。
解決辦法如下:
<receiver android:name=".activity.MyReceiver"> <intent-filter> <action android:name="cn.jpush.android.intent.REGISTRATION" /> <category android:name="com.youzheng.slqx" /> </intent-filter> </receiver>
public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Bundle bundle = intent.getExtras(); String title = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID); SharedPreferences id = context.getSharedPreferences("id", MODE_PRIVATE); id.edit().putString("id",title).commit(); }
原理:當極光註冊成功會發送一條廣播,通過JPushInterface.EXTRA_REGISTRATION_ID獲取registrationID,一次儲存,永久使用。