我从Android手持设备向android服装设备发送通知。我想在操作系统中包含一个动作,该动作会在android服装设备上启动活动。
如何将待处理意图设置为磨损设备上的活动?如果在可穿戴设备上创建通知,我可以启动活动,但如果通知是在手机上创建然后发送给可穿戴设备,则无法启动。
// creating action for push notification created on handheld
public NotificationCompat.Action CreateWearAppAction(Integer metricId) {
// I wasnt able to look up the wear's main activity class since this is in the handheld project.
Intent wearPageIntent = new Intent(Intent.ACTION_VIEW);
Uri wearUri = Uri.parse("mywearapp://Test?MetricId=" + metricId);
wearPageIntent.setData(wearUri);
PendingIntent wearPagePendingIntent = PendingIntent.getActivity(context, 0, wearPageIntent, 0);
return new NotificationCompat.Action.Builder(R.drawable.ic_action_metric,
"Open Charts on Wear", wearPagePendingIntent)
.build();
}
我试图推出的磨损应用中的活动清单:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:noHistory="true"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- deep link -->
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="mywearapp" />
</intent-filter>
</activity>
答案 0 :(得分:5)
查看Android SDK Manager for API 20中包含的DataLayer示例。它包含一个示例,说明在用户按下移动设备上的按钮后如何在可穿戴设备上启动活动。
答案 1 :(得分:0)
可能完成了一些hackery。
创建自己的动作并使Wear.activity <intent-filter
使用它。类似的东西:
<intent-filter>
<action android:name="com.myCompany.myApp.ACTION.openWearActivity" />
</intent-filter>
然后根据您的通知意图,从手机创建,您知道,只需使用那个:
new Intent("com.myCompany.myApp.ACTION.openWearActivity");
瞧!