我是android开发的新手。 我搜索了很多,我没有找到任何正确的答案。 我想制作一个弹出/对话框屏幕,显示服务中的某些内容。
手机锁定时也可以使用此屏幕。 我已经发现,您可以在对话框样式或具有透明背景的活动中进行活动。但我认为这不是正确的做法。 这是其中一个屏幕(右侧):Link
您可以滚动浏览所有消息并回复所有消息。 我的调试手机有Android 4.0.2(所以它的API级别14),我希望这个用作我的应用程序的最低要求。
编辑: 感谢您的回复,但我已经测试了通知。 问题是,通知栏中只显示了smallicon。 我没有通知窗口或带有标题或内容的弹出窗口... 所以这是我的实现:
import com.google.android.gms.gcm.GoogleCloudMessaging;
import android.app.IntentService;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.support.v4.app.NotificationCompat;
import android.support.v4.app.TaskStackBuilder;
import android.util.Log;
public class GcmIntentService extends IntentService {
public static final int NOTIFICATION_ID = 1;
public GcmIntentService() {
super("GcmIntentService");
}
public static final String TAG = "GCM test";
@Override
protected void onHandleIntent(Intent intent) {
GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
String messageType = gcm.getMessageType(intent);
if (!intent.getExtras().isEmpty()) { // has effect of unparcelling Bundle
if (GoogleCloudMessaging.MESSAGE_TYPE_SEND_ERROR.equals(messageType)) {
sendNotification("Send error: " + intent.getExtras().toString());
} else if (GoogleCloudMessaging.MESSAGE_TYPE_DELETED.equals(messageType)) {
sendNotification("Deleted messages on server: " + intent.getExtras().toString());
// If it's a regular GCM message, do some work.
} else if (GoogleCloudMessaging.MESSAGE_TYPE_MESSAGE.equals(messageType)) {
// Post notification of received message.
sendNotification("message:\n" + intent.getStringExtra("message"));
Log.i(TAG, "Received: " + intent.getExtras().toString());
}
}
// Release the wake lock provided by the WakefulBroadcastReceiver.
GcmBroadcastReceiver.completeWakefulIntent(intent);
}
private void sendNotification(String msg) {
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_check)
.setContentTitle("My notification")
.setContentText(msg);
Intent resultIntent = new Intent(this, PopupMessageActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(PopupMessageActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(NOTIFICATION_ID, mBuilder.build());
}
}
答案 0 :(得分:1)
通知是您正在寻找的
这是指向Android开发者页面的链接: http://developer.android.com/guide/topics/ui/notifiers/notifications.html
Toast也可能对你有所帮助: http://developer.android.com/guide/topics/ui/notifiers/toasts.html
祝你好运!答案 1 :(得分:0)
您正在谈论在lockscreen
上运行的应用小工具
..所以你可以阅读这个页面并使用它
https://developer.android.com/guide/topics/appwidgets/index.html