2

我将我的应用程序设置为使用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;

    }

//结束推送通知//

4

1 回答 1

1

从代码看来,您正在尝试创建自己的onCreate方法并调用它onCreate1

重命名onCreate1onCreate,它应该可以解决问题。

onCreateOptionsMenu回调方法相同,应该调用onCreateOptionsMenu而不是调用onCreateOptionsMenu1

于 2014-07-27T07:18:46.897 回答