我不仅搜索了stackoverflow,还搜索了其他网站,但我找不到问题的答案。我现在开始学习Android,我对活动有疑问。
我有一个MainActivity,可以使用两个按钮创建通知。一个是现在没用了,另一个(发送按钮)将打开一个带有EditText的警报和一个按钮,将文本发送到另一个应用程序。
这是代码:
Intent mainActivityIntent = new Intent(MainActivity.this, NotificationActivity.class);
Intent shareActivityIntent = new Intent(MainActivity.this, ShareActivity.class);
PendingIntent mainActivityPIntent = PendingIntent.getActivity(MainActivity.this, 0, mainActivityIntent, 0);
PendingIntent shareActivityPIntent = PendingIntent.getActivity(MainActivity.this, 0, shareActivityIntent, 0);
Notification n = new Notification.InboxStyle
(new Notification.Builder(MainActivity.this)
.setContentTitle(getString(R.string.text_notification))
.setContentText(getString(R.string.text_notification))
.setSmallIcon(R.drawable.ic_launcher)
.setContentIntent(mainActivityPIntent)
.addAction(R.drawable.logo, "Botão", mainActivityPIntent)
.addAction(R.drawable.ic_launcher, "Share", shareActivityPIntent)
)
.build();
n.flags |= Notification.FLAG_ONGOING_EVENT;
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nm.notify(0, n);
如您所见,“发送”按钮将打开另一个“活动”,其代码如下:
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Mensagem");
alert.setMessage("Digite a mensagem");
final EditText input = new EditText(this);
alert.setView(input);
alert.setPositiveButton("Enviar", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String value = input.getText().toString();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_TEXT, value);
startActivity(Intent.createChooser(i, "Enviar"));
finishActivity(0);
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
return;
}
});
alert.show();
此活动负责打开用户输入文本并发送到其他应用程序的警报。
情况是,当我调用活动时,它不仅会显示警报,还会打开一个新的“屏幕”。示例:通知是持久的,因此它将始终显示在通知抽屉上。如果我在另一个应用程序上并单击我的通知上的按钮,我只想打开警报,但现在它打开警报和屏幕以及我的活动布局。
有没有办法只显示警报,而不显示活动?或者我是否必须使用其他方法来执行此操作?
非常感谢。
答案 0 :(得分:1)
如果不需要警报对话框,则可以将警报设置为自己的活动,而不是使用警报构建器。放置按钮和textview或任何你需要的东西。然后在清单使用
<activity android:theme="@android:style/Theme.Dialog">
Here 更多关于主题。希望这有帮助