0
我有我的通知在Android的問題我不知道我在做什麼錯... 此通知是在我的服務類(AfterBootService)中創建的,並且該服務啓動時啓動完成在我的Receiver類(MyReceiver)代碼以下兩個類:爲什麼我的android通知一直消失?
MyReceiver.class
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent service = new Intent(context, AfterBootService.class);
context.startService(service);
}
}
這裏AfterBootService.class
public class AfterBootService extends Service {
private NotificationManager mNotificationManager;
private static final int NOTIFICATION_ID = 1;
@Override
public void onCreate() {
mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
showNotification();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return START_STICKY;
}
@Override
public void onDestroy() {
mNotificationManager.cancel(NOTIFICATION_ID);
Toast.makeText(this, "Service Stopped", Toast.LENGTH_SHORT).show();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
/**
* Show a notification while this service is running.
*/
private void showNotification() {
int icon = R.drawable.icon_notification_ribbon;
String tickerText = "Your Notification";
long when = System.currentTimeMillis();
Notification notification = new Notification(icon, tickerText, when);
String expandedText = "Sample Text";
String expandedTitle = "Program Name Here";
Context context = getApplicationContext();
Intent notificationIntent = new Intent(this, IconActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.flags |= Notification.FLAG_FOREGROUND_SERVICE;
//notification.flags |= Notification.FLAG_NO_CLEAR;
// Set the info for the views that show in the notification panel.
notification.setLatestEventInfo(context, expandedTitle, expandedText, contentIntent);
// Send the notification.
mNotificationManager.notify(NOTIFICATION_ID, notification);
}
}
現在,當我啓動一切都OK了接收器啓動服務和服務啓動通知,但當它顯示在狀態欄,並在通知窗口後有適當的消息IT DISAPPEAR後一些(2-3)秒......我沒有'設置任何允許消息消失的東西(我想我不是專家)。我想知道的內容:
- 如何在我的服務運行時始終保持該通知消息?
- 可以保留所有時間通知而不運行啓動該通知的服務?爲了更仔細地解釋它,可以在使用stopSelf()銷燬服務之後啓動服務通知,並仍然保留該通知消息?
我可以貼在這裏我的清單,如果需要的話。 THX
是它的工作原理,但我錯了太現在還有一件事我試圖解釋它:我的程序工作,但我做了什麼只有一次,在這裏:1.I按下來清除虛擬的所有信息。 2.擦拭時,我將其關閉,然後按下Run-> MyProgram,然後在此完成後... ... .apk安裝成功。 3.現在我按了Window-> Android AVD Manager,安裝了.apk後我啓動了MyVirtual,並且我已經有了正確的工作程序(沒有錯過通知)。 4.I關閉了虛擬,我再次按Run-> MyProgram,現在發生了什麼事我有錯誤(不成功安裝)。 – user1624360
任何錯誤日誌? –
但是現在,當我將代碼更改爲即使當我第二次按下時寫入的代碼Run-> MyApplication我沒有得到錯誤,並且我的.apk被成功安裝了:)。現在當我需要看我的程序如何工作時,我需要從Window-> AVD Manager NOT FROM Run-> MyAplication啓動MyVirtual,因爲我沒有做任何更改,並且我已經安裝了我的.APK。這是我的錯誤之前(當我搜索我做錯了什麼),因爲我按了所有的時間運行 - > MyAplication,而不是窗口 - > AVD管理器和我的通知消失,因爲它和錯誤的代碼。 – user1624360