Android マーケットのアプリケーションのレーティング

ACTION REQUIRED:
Starting on November 30th, 2010, it will be mandatory that you add a rating level to your apps in the Developer Console at http://market.android.com/publish when you publish or update an app.
 see also:
http://android-developers.blogspot.com/2010/11/content-rating-for-android-market.html
http://market.android.com/support/bin/answer.py?answer=188189
Google のアプリケーション レーティングを使用して、アプリケーションとそのコンテンツが自分に適しているかどうかをユーザーが判断できるようにしてください。レーティングは、ユーザーが作成するコンテンツや広告、アプリケーションがリンクしているコンテンツなど、アプリケーション内のすべてのコンテンツが対象となります。

Androidマーケットにアプリ公開するときってChromeじゃなくてFireFox使ったほうが良いかもね

Chrome(6.0.472.62ぐらい)だとapkファイルのアップロードとかスクリーンショット画像のアップロードがうまく動かない(Javascript?)。まさかと思ってFireFoxでやったらすんなりw

Unable to launch app ... for broadcast Intent { act=android.appwidget.action.APPWIDGET_ENABLED cmp=... }: process is bad

AppWidgetが、タイトルのようなログを吐いて、ActivityManagerにprocess is badとマークされてしまった。タップするとbroadcast intentを飛ばすようなAppWidgetで、異なる複数のImageViewに同じPendingIntentをandroid.widget.RemoteViews#setOnClickPendingIntentで渡していたのが原因?

こうなったが最後、端末再起動しないと起動させてもらえない。

しかたないので、ImageViewにPendingIntentをセットするのではなく、ボタンを一つだけ配置してそいつにPendingIntentをセットしたらActivityManagerに怒られなくなった。

本当にこんな対処法で良いのか?

ActivityManager#restartPackage(String) is deprecated.

android.app.ActivityManager#restartPackage(String packageName) は非推奨メソッド。
このメソッド、今はただ #killBackgroundProcesses(String packageName) をラップしているだけですよ、とJavadocに書いてある。ソース見ると、
@Deprecated
public void restartPackage(String packageName) {
    killBackgroundProcesses(packageName);
}
って、 #restartPackage って名前が気に入らなかっただけ!?(メソッドの振る舞いが名前と一致して無かったってことかな?)そんな理由で、 android.permission.* まで一個増えちゃったのか・・・
android.permission.RESTART_PACKAGES
android.permission.KILL_BACKGROUND_PROCESSES
しかも、 #killBackgroundProcesses(String packageName) は
since: API Level 8
とりあえず、しばらくは #restartPackage(String packageName) で良いや。。。

android.permission.RECEIVE_WAP_PUSH

Android SMS Pushの活用 【受信】
前回のWAP Push送信Activityクラスと今回の受信Receiverでキャッチボールを試みてみました。しかし、残念なことに日本のdocomoネットワークではWAP Push受信はできませんでした。。。サーバー側でWAP SMSのトラフィックをカットしている模様ですね。
確かにセキュリティ面で問題となってきそうな機能ではあります。
 docomo以外はどうなんだろ・・・
see also: http://groups.google.com/group/android-sdk-japan/browse_thread/thread/9768fc6b55345d07

java.lang.OutOfMemoryError: bitmap size exceeds VM budget

android端末(HT03A)のカメラで撮った画像をそのままBitmapに変換するとOutOfMemoryErrorで落ちる。
public class CameraView extends SurfaceView implements SurfaceHolder.Callback, PictureCallback {
    public void onPictureTaken(byte[] datas, Camera camera) {
        Bitmap bitmap = BitmapFactory.decodeByteArray(datas, 0, datas.length);
        // OutOfMemoryError
ログを見るとこんなことを言われてしまってた。
 java.lang.OutOfMemoryError: bitmap size exceeds VM budget
対処方法はこれ。
BitmapFactory.Options options = new BitmapFactory.Options();
        options.inSampleSize = 2;
        Bitmap bitmap = BitmapFactory.decodeByteArray(datas, 0, datas.length, options);
see also:
http://developer.android.com/intl/ja/reference/android/graphics/BitmapFactory.Options.html
http://stackoverflow.com/questions/477572/android-strange-out-of-memory-issue