我正在为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>
非常感谢你!
答案 0 :(得分:0)
您应该在手机上启动Gear Manager应用程序转到通知,然后从应用程序列表中选择要向通知发送通知的应用程序。