我想在通知欄中放置一個通知,當按下按鈕時會啓動我的應用程序。雖然我沒有這樣做的問題,我的用戶也希望通知在重新啓動後出現。他們有一個來自另一個供應商的應用程序。重啓後的android通知
我能找到的所有東西都表明應用程序必須運行才能顯示通知。有任何想法嗎?
我想在通知欄中放置一個通知,當按下按鈕時會啓動我的應用程序。雖然我沒有這樣做的問題,我的用戶也希望通知在重新啓動後出現。他們有一個來自另一個供應商的應用程序。重啓後的android通知
我能找到的所有東西都表明應用程序必須運行才能顯示通知。有任何想法嗎?
您需要添加一個在重啓後啓動服務的接收器。
在您的清單寄存器啓動完成
<service android:name="com.meCorp.service.MeCorpServiceClass"/>
...
<receiver android:name="com.meCorp.receiver.MyRebootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
...
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
在你的啓動接收器,啓動服務。
public class MyRebootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent serviceIntent = new Intent(context, MeCorpServiceClass.class);
serviceIntent.putExtra("caller", "RebootReceiver");
context.startService(serviceIntent);
}
}
這是服務類在後臺運行的示例。
public class MeCorpServiceClass extends IntentService{
@Override
protected void onHandleIntent(Intent intent){
String intentType = intent.getExtras().getString("caller");
if(intentType == null) return;
if(intentType.Equals("RebootReceiver"))
//Do reboot stuff
//handle other types of callers, like a notification.
}
}
或者只是使用像Urban AirShip這樣的第三方,它可以爲您處理所有這些事情。
我知道eSniff的答案會起作用。但我談論的另一個應用程序沒有運行服務,應用程序本身沒有運行,但通知仍然存在,並點擊它啓動應用程序。 – miannelle2
你解決了這個問題嗎?我也想知道同樣的方式 – bman