我的应用程序应该使用哪种API来查看我是否收到了来自facebook的示例的通知,因此请在一个文本框中写“Facebook!”?
答案 0 :(得分:9)
最好的办法是使用NotificationListenerService
,这是在API级别18中添加的。
以下是一个例子:
public class FacebookNotificationListener extends NotificationListenerService {
@Override
public void onNotificationPosted(StatusBarNotification sbn) {
final String packageName = sbn.getPackageName();
if (!TextUtils.isEmpty(packageName) && packageName.equals("com.facebook.katana")) {
// Do something
}
}
@Override
public void onNotificationRemoved(StatusBarNotification sbn) {
// Nothing to do
}
}
在您的AndroidManifest
中<service
android:name="your.path.to.FacebookNotificationListener"
android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE" >
<intent-filter>
<action android:name="android.service.notification.NotificationListenerService" />
</intent-filter>
</service>
此外,您的用户需要启用您的应用,以便在以下位置收听通知:
但是,您可以使用以下Intent
startActivity(new Intent("android.settings.ACTION_NOTIFICATION_LISTENER_SETTINGS"));