【发布时间】:2018-03-12 10:55:15
【问题描述】:
我是安卓的新手。我正在制作一个应用程序,它将发送通知,其中将提供两个按钮,例如“有帮助”和“没有帮助”。 如果用户单击“有帮助”,用户将被重定向到 activity.java,如果用户单击“无帮助”,则该记录将从 sqlite 数据库中删除。代码如下,
通知
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID)
.setVibrate(new long[]{0, 100, 100, 100, 100, 100})
.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("Content Title")
.setContentText("Content Text");
builder.setSmallIcon(R.drawable.bus);
builder.setContentTitle("Your bus schedule");
builder.setContentText("Your bus for "+ search );
Spinner dropdown2 = findViewById(R.id.spinner3);
Spinner dropdown3 = findViewById(R.id.spinner4);
String join = "-";
String ConcatedString1 = dropdown2.getSelectedItem().toString().concat(join).concat(dropdown3.getSelectedItem().toString());
Intent intent = new Intent(this, SecondClass.class);
intent.putExtra("username",ConcatedString1);
PendingIntent pIntent1 = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), intent, 0);
PendingIntent pIntent = PendingIntent.getBroadcast(this, (int) System.currentTimeMillis(), intent, PendingIntent.FLAG_UPDATE_CURRENT);
builder.addAction(R.drawable.ic_prev, " helpful", pIntent1) // #0
.addAction(R.drawable.ic_pause, "not helpful ", pIntent) // #1
.build();
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(SecondClass.class);
stackBuilder.addNextIntent(intent);
PendingIntent pendingIntent = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(pendingIntent);
在第一个按钮上,我添加了 pintent 的操作和 pintent1 的其他操作,并且在 pintent 上,我有 getBroadcast,它将重定向到 notificationaction,数据库中的该行将被删除。
通知操作
public void onReceive(Context context, Intent intent) {
String action = intent.getStringExtra("action");
if (action.equals("Sunday-09")) {
performAction1(action);
} else {
performAction2(action);
}
Intent it = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
context.sendBroadcast(it);
}
public void performAction1(String action)
{
DatabaseHelper myDb = new DatabaseHelper(context);
myDb.deleteData(action);
}
public void performAction2(String action)
{
DatabaseHelper myDb = new DatabaseHelper(context);
myDb.deleteData(action);
}
清单
<receiver android:name=".NofificationAction"></receiver>
数据库助手
public void deleteData(String name) {
SQLiteDatabase db = this.getWritableDatabase();
db.execSQL( "delete from search_table where name='" + name + "'");
}
但是当我点击无帮助时,我仍然可以看到记录。谁能帮我。谢谢你的建议
【问题讨论】:
标签: android sql sqlite android-notifications