如何通知Galaxy Gear

时间:2014-01-20 10:35:51

标签: java android notifications galaxy sony-smartwatch

我正在为Galaxy Gear编写一个应用程序进行一些研究。 我需要“抓住”来自手机的通知并在Gear上发出我自己的通知。

嗯,关键是:我如何通知Gear本身?

以下代码适用于Galaxy S4,但不会在Galaxy Gear上发出通知......

我创建了一个SERVICE,在方法“onCreated()”和“onStartCommand()”中执行以下代码: MyNotificationSvc.java

private void doJob() throws InterruptedException{
    NotificationCompat.Builder mBuilder =
            new NotificationCompat.Builder(this)
            .setSmallIcon(R.drawable.ic_launcher)
            .setContentTitle("My notification")
            .setContentText("Hello World!");

    Intent mainIntent = new Intent(this, MainActivity.class);
    TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
    stackBuilder.addParentStack(MainActivity.class);
    stackBuilder.addNextIntent(mainIntent);
    PendingIntent resultPendingIntent =
            stackBuilder.getPendingIntent(
                0,
                PendingIntent.FLAG_UPDATE_CURRENT
            );
    mBuilder.setContentIntent(resultPendingIntent);
    NotificationManager mNotificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    mNotificationManager.notify(123, mBuilder.build());
    stopSelf();
}

单击按钮“StartSvc”时,我启动了“MyNotificationSvc”。 点击后,应用程序“最小化”,10秒后应该会出现通知。 注意:不是来自智能手机!通知应该来自Galaxy Gear本身。

“StartSvc”-Button的onClick方法是:

    public void startSvc(View v){
    Intent startMain = new Intent(Intent.ACTION_MAIN);
    startMain.addCategory(Intent.CATEGORY_HOME);
    startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(startMain);
    try {
        Thread.sleep(10000);
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    startService(new Intent(this, MyNotificationSvc.class));
}

我在AppManifest.xml中添加了这一行

<service android:name=".MyNotificationSvc"></service>

非常感谢你!

1 个答案:

答案 0 :(得分:0)

您应该在手机上启动Gear Manager应用程序转到通知,然后从应用程序列表中选择要向通知发送通知的应用程序。