通知サービスを作成すると、新しいニュースストアについてユーザーに通知することができます。JSONのAndroid通知サービス
私のアプリにJSON
API(https://newsapi.org/)のニュースが届いていて、彼には見たことのない新しい物語がある場合にユーザーに通知する必要があります。
通知サービスを作成すると、新しいニュースストアについてユーザーに通知することができます。JSONのAndroid通知サービス
私のアプリにJSON
API(https://newsapi.org/)のニュースが届いていて、彼には見たことのない新しい物語がある場合にユーザーに通知する必要があります。
はい、ここFireBase services.Follow私の手順を使用してアンドロイドにプッシュ通知を作成するのは簡単です:
String token = FirebaseInstanceId.getInstance().getToken();
とします。このサイトでは、必要なパラメータを与えることによってこれをテストするにはルックを.. `パブリッククラスの通知は、Service { 文字列datanewsを拡張。 文字列titlenotif; 文字列destnotif; MyAsynk asynk;
@Override
public void onCreate() {
super.onCreate();
Timer timer = new Timer();
timer.schedule(new UpdateTimeTask(), 0, 1800000); //тикаем каждые 30 мinute без задержки 1800000
}
//задача для таймера
//Проверяем на новую запись.
class UpdateTimeTask extends TimerTask {
public void run() {
asynk = new MyAsynk();
asynk.execute();
createNotification(getApplicationContext());//пушим уведомление
}
}
class MyAsynk extends AsyncTask<Void,Void,StringBuilder> {
@Override
//работа в бекграунде
protected StringBuilder doInBackground(Void... voids) {
StringBuilder stringBuilder = new StringBuilder();
String key = "YOUR_KEY";
try {
URL url = new URL("YOUR_URL_HERE" + key);
URLConnection uc = url.openConnection();
uc.connect();
BufferedInputStream in = new BufferedInputStream(uc.getInputStream());
int ch;
while ((ch = in.read()) != -1) {
stringBuilder.append((char) ch);
}
} catch (Exception e) {
}
return stringBuilder;
}
@Override
protected void onPostExecute(StringBuilder stringBuilder) {
try {
JSONObject jsonObject = new JSONObject(stringBuilder.toString());
JSONArray array = jsonObject.getJSONArray("articles");
for (int i = 0; i < array.length(); i++) {
JSONObject object = array.getJSONObject(i);
String title = object.getString("title");
String desc = object.getString("description");
String newsdata = object.getString("publishedAt");
datanews = newsdata;
titlenotif = title;
destnotif = desc;
}
}
catch (Exception e){
}
}
}
private void createNotification(Context context) {
NotificationManager manager = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
NotificationCompat.Builder ncBuilder = new NotificationCompat.Builder(context);
Intent intent = new Intent(this, MainActivity.class);
PendingIntent pIntent = PendingIntent.getActivity(this, 0, intent, 0);
ncBuilder.setVibrate(new long[]{500});
ncBuilder.setLights(Color.WHITE, 3000, 3000);
ncBuilder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI);
ncBuilder.setContentIntent(pIntent);
ncBuilder.setContentTitle(titlenotif + "");
ncBuilder.setContentText(destnotif + "");
ncBuilder.setTicker("You have news!");
ncBuilder.setSmallIcon(R.drawable.news_icon);
ncBuilder.setAutoCancel(true);
manager.notify((int)System.currentTimeMillis(),ncBuilder.build());
}
public IBinder onBind(Intent arg0) {
return null;
}
} `
Uがアンドロイド(GCMまたはFCM)でプッシュ通知の概念をチェック持ち –
@ShanmugapriyaD、。あなたは、放送受信装置と共にプッシュ通知のためにGCMまたはFCMを使用する必要が右です。 – Radhey