2011-05-11 39 views
0

嘿,夥計們。 我正在與一個Android應用程序的同事。在某些時候,應用程序無需用戶交互即可自行啓動藍牙。這是用C++編寫的。現在我想打開主要的藍牙符號,通知用戶藍牙已打開,WiFi也一樣。Android(通知) - C++代碼打開藍牙 - 但沒有通知顯示在通知欄

我可以創建自己的通知,但那不是我想要的。

如何訪問Java中的主要通知符號?

關於通知的另一個問題: 我有一個通知我的主應用程序。每次點擊通知時,應用程序都會重新啓動(onCreate被調用)。當我點擊主頁按鈕時,當我的應用程序在前面顯示主屏幕時,通過點擊應用程序符號它將恢復應用程序(onResume被調用)。當我點擊通知時,我想要完全相同的行爲。我如何實現這一目標?

在此先感謝

+0

它應該自動顯示我認爲...只需要一點點啓動藍牙 – binnyb 2011-05-11 20:37:20

+0

但它不:) – Johannes 2011-05-11 22:12:33

+0

**關於通知的另一個問題:**你可能想嘗試設置'android:將Activity的launchMode設置爲'singleTop'並在您的活動中重寫'onHandleNewIntent'。 – 2011-05-11 22:19:55

回答

0

據我所知,這隻有當你從Java調用它,或者調入相應的通過JNI的Java方法,將更新適當的通知你。

+0

有沒有其他的方式來更新這個,以便Android意識到它必須更新所有的通知和小部件等。如果沒有,那麼我必須創建我自己的通知。 我可以通過jni訪問本地方法,有沒有人可能知道是否有適當的本機「updatenotifications」或「informJavaAboutBluetoothTurnedOn」方法? – Johannes 2011-05-12 16:17:50

+0

我不知道本地方法,即使它們暴露在更新的SDK版本中,它們可能在所有Android手機中都不可用。調用Java方法似乎是唯一可用的選項。 – berkus 2011-05-22 15:55:36