我将我的应用设置为使用 http://www.pushapps.mobi通知 API,但我在设置注册和未注册设备按钮以使用菜单设置启用和禁用推送通知时遇到问题。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.miplayer.app.MainActivity" >
<item android:id="@+id/action_settings"
android:title="@string/action_settings"
android:orderInCategory="100"
android:showAsAction="never" />
<item android:id="@+id/register_push"
android:title="@string/register_push"
android:orderInCategory="100"
android:showAsAction="never" />
<item android:id="@+id/unregister_push"
android:title="@string/unregister_push"
android:orderInCategory="100"
android:showAsAction="never" />
<item
android:id="@+id/action_share"
android:title="@string/action_share"
android:orderInCategory="100"
android:showAsAction="ifRoom"
android:actionProviderClass="android.widget.ShareActionProvider"/>
<item
android:id="@+id/itemRefresh"
android:icon="@drawable/ic_action_navigation_refresh"
android:showAsAction="ifRoom|withText"
android:title="@string/btnRefresh" />
//Push Notification//
protected void onCreate1(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.feed_list);
// Start PushApps and register to the push notification service (GCM)
PushManager.init(getApplicationContext(), "208412738081", "93ea417b-cef4-42ac-b323-55f7b4c3536d");
//optional - allows more than on notifications in the status bar, default is false
PushManager.getInstance(getApplicationContext()).setShouldStackNotifications(true);
//optional - set a your own icon for the notification, defaults is the application icon
PushManager.getInstance(getApplicationContext()).setNotificationIcon(R.drawable.ic_launcher);
// optional - sets the source of the device id for identification, default is DeviceIDTypes.IMEI
PushManager.getInstance(getApplicationContext()).setDeviceIDType(DeviceIDTypes.ANDROID_ID);
// optional - register for registration and unregistration events
PushManager.getInstance(getApplicationContext()).registerForRegistrationEvents(new PushAppsRegistrationInterface() {
@Override
public void onUnregistered(Context arg0, String arg1) {
Log.d("PushAppsDemo", "arg1 " + arg1);
}
@Override
public void onRegistered(Context arg0, String arg1) {
Log.d("PushAppsDemo", "arg1 " + arg1);
}
@Override
public void onError(Context paramContext, String errorMessage) {
Log.d("PushAppsDemo", "PUSHAPPS ERROR: " + errorMessage);
}
});
}
//pushapps register and unregister buttons
public boolean onCreateOptionsMenu1(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
MenuItem register = (MenuItem) menu.findItem(R.id.register_push);
PushManager.getInstance(getApplicationContext()).register();
return true;
}
//结束推送通知//
最佳答案
从代码看来,您正在尝试创建自己的 onCreate
方法并将其命名为 onCreate1
。
将 onCreate1
重命名为 onCreate
应该可以解决问题。
与onCreateOptionsMenu
回调方法一样,应该调用onCreateOptionsMenu
而不是onCreateOptionsMenu1
。
关于java - PushApps 注册和注销菜单按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24966665/