Back to project page WearOngoingNotificationSample.
The source code is released under:
Copyright (c) 2014, Double Encore, Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are ...
If you think the Android project WearOngoingNotificationSample listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
package com.doubleencore.sample.wear.ongoingnotification; /* www. ja v a 2 s.c om*/ import android.app.Activity; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Color; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.ImageView; import android.widget.TextView; import android.widget.Toast; import com.google.android.gms.common.ConnectionResult; import com.google.android.gms.common.api.GoogleApiClient; import com.google.android.gms.wearable.Asset; import com.google.android.gms.wearable.Wearable; import java.io.InputStream; import java.util.Random; import java.util.concurrent.TimeUnit; /** * Created by carlos on 7/15/14. */ public class NotificationActivity extends Activity { private static final String TAG = NotificationActivity.class.getSimpleName(); public static final String EXTRA_TITLE = "title"; public static final String EXTRA_IMAGE = "image"; private ImageView mImageView; private TextView mTextView; Random random; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_notification); mImageView = (ImageView) findViewById(R.id.image_view); mTextView = (TextView) findViewById(R.id.text_view); Intent intent = getIntent(); if (intent != null) { mTextView.setText(intent.getStringExtra(EXTRA_TITLE)); final Asset asset = intent.getParcelableExtra(EXTRA_IMAGE); loadBitmapFromAsset(this, asset, mImageView); } random = new Random(); mTextView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mTextView.setTextColor(Color.argb(255, random.nextInt(256), random.nextInt(256), random.nextInt(256))); } }); } private static void loadBitmapFromAsset(final Context context, final Asset asset, final ImageView target) { if (asset == null) { throw new IllegalArgumentException("Asset must be non-null"); } new AsyncTask<Asset, Void, Bitmap>() { @Override protected Bitmap doInBackground(Asset... assets) { GoogleApiClient googleApiClient = new GoogleApiClient.Builder(context) .addApi(Wearable.API) .build(); ConnectionResult result = googleApiClient.blockingConnect( 1000, TimeUnit.MILLISECONDS); if (!result.isSuccess()) { return null; } // convert asset into a file descriptor and block until it's ready InputStream assetInputStream = Wearable.DataApi.getFdForAsset( googleApiClient, assets[0]).await().getInputStream(); googleApiClient.disconnect(); if (assetInputStream == null) { Log.w(TAG, "Requested an unknown Asset."); return null; } // decode the stream into a bitmap return BitmapFactory.decodeStream(assetInputStream); } @Override protected void onPostExecute(Bitmap bitmap) { if (bitmap != null) { target.setImageBitmap(bitmap); } } }.execute(asset); } }