Aaaaaargh! onPreviewFrame is not called on Android ICS

When using the Camera preview on android, there is a setPreviewCallback method to get the preview frames. (The API doc says it will do that.)

However, I never saw the callback is being called.

try {
	callbackBuffer = new byte[mCamera.getParameters().getPreviewSize().width * mCamera.getParameters().getPreviewSize().height * (ImageFormat.getBitsPerPixel(mCamera.getParameters().getPreviewFormat()) / 8)];
    mCamera.addCallbackBuffer(callbackBuffer);
    mCamera.setPreviewCallbackWithBuffer(this);
    mCamera.setPreviewDisplay(holder);
    mCamera.startPreview();
} catch (IOException e) {
    Log.d(TAG, "Error setting camera preview: " + e.getMessage());
}

Not works.

try {
    mCamera.setPreview(@Override
	public void onPreviewFrame(byte[] data, Camera camera) {
		Log.i(TAG, "preview");
	}
    });
    mCamera.setPreviewDisplay(holder);
    mCamera.startPreview();
} catch (IOException e) {
    Log.d(TAG, "Error setting camera preview: " + e.getMessage());
}

Nope.

I could find a bug report about it.
onPreviewFrame never called when using setPreviewCallback

It seems like a bug on Android ICS, but it’s not clear which version is fixed. My device is 4.1.2 and just not working, and there will be so many people with ICS, because the Android device manufacturers doesn’t provide the OS update for the customers.
And android OS developers are not providing any explanation or the workaround to avoid it.

Developing on Android is just a mess..

Using Intel HAXM Android x86 emulator on OSX Mavericks 10.9

After the OSX Mavericks 10.9 update, Android x86 emulator will crash or freeze on start.

I updated all the SDKs on the Android SDK Manager, but it didn’t help. After some googling, it turns out I wasn’t the only person with such defect.

Intel released the HAXM hotfix for OSX 10.9 and Windows 8.1.
Info
Download page

After installing the hotfix, still my virtual devices didn’t work.
(Also be aware that you couldn’t use VirtualBox 4.2.14 simultaneously with the emulator.)

After some testing, Android 4.x emulator works well without a problem, but only the Android 2.3.3 emulator still crashes on start.

I was using the emulators with the ‘Use Host GPU’ option(because it is recommended), but disabling that option makes the Android 2.3.3 x86 emulator work.

I’m not sure whether it’s a applicable solution for all, but if you have the same problem, give it a try.

[And] ‘恋して’ よくあるご質問

1. 背景はどうやって変えるんですか?

2. 広告を消すにはどうすればいいですか?

3. フォントの変更はできますか?

4. アイコンバッジの数字を隠したいです。

5. ホーム画面にウィジェット配置する方法

6. 日付が一日が異なるのはなぜですか?

7. 希望の月を選択することができません!

8. 写真を四角に、あるいは丸く変える方法?

9. ロック画面の設定はどうすればいい?

10. ロック画面の動作について

11. 記念日の削除方法

12. 退会について

13. 上部バーの通知の背景の設定

さらに質問がある場合にメールでお知らせください。
ほとんどの内容は、設定で変更可能です。確認してください。
お使いの機器との症状を正確に記述してください。返事はSMSメールでは受信できず、Eメールのみ可能です。

——————

1. 背景はどうやって変えるんですか?

background上部バーの写真ボタンを押してくれて、写真を選択すると、アプリの壁紙として設定されます。

back2「Save」ボタンを押す必要があります。 「Discard」はキャンセルです。

2. 広告を消すにはどうすればいいですか?

広告なしのバージョンは有料で提供されています。

https://play.google.com/store/apps/details?id=net.milkdrops.beentogether.full

3. フォントの変更はできますか?

アプリには、一つのフォントがデフォルトで含まれており設定でシステムフォントを使用するように設定することができます。

.ttfフォントファイルがある場合は設定から選択することができます。

4. アイコンバッジの数字を隠したいです。

アプリの設定で非表示することができます。

6. 日付が一日が異なるのはなぜですか?

私たちのアプリは、デフォルトの設定で開始を1日にします。設定で0日から開始するように変更することができます。問題がある場合はメールて、開始日と出なければなら日数を教えてください。

7. 希望の月を選択することができません!

年を過去に変えてください。開始日を未来に設定することは不可能です。

8. 写真を四角に、あるいは丸く変える方法?

写真の外観はテーマによって異なります。四角に変更するにはThemeで「Default Theme」を使用してください。それ以外はテーマの店でさまざまなテーマを確認してください。

9. ロック画面の設定はどうすればいい?

設定に入り、「ロック画面に使用」を選択してください。画面をオフにしオンにすると見えるようになっています。

10. ロック画面の動作について

ロック画面の実体は、システムのロック画面を交換するのではなく、ロック画面のように見えるアプリの画面です。「恋して」は、アプリマーケットを介して配布される1つのアプリであるため、システムにアクセスする権限を持っていません。(アプリのインストール時に必要とする多くの権限がロック画面の機能実装に使用されます。)このため、ロック画面が表示される速度もお使いの機種によっては遅くなることができ、タスクキラーを使用して、バックグラウンドで動作している愛したかを終了する場合、ロック画面の動作しなくなります。タスクキラーアプリを使用する場合、例外に追加することをお願いいたします。また、ロック画面をホームボタンを使って、簡単に抜けていくことができるので、パスワードロックは、パターンロックが不可能です。これらの制約は、すべてのAndroidの政策上やむを得ない部分であり、恋してがメーカーのアプリとして採用( ! ) 、またはルーティングアプリとしてリリースしない限り、解決できないことをご了承お願い致します。

11. 記念日の削除方法

記念日は記念日設定下段から削除できます。またはサイドバーの記念日を長く押して、削除が可能です。記念日が一つの場合、削除することができません。

12. 退会について

登録プロセスもないので退会もありません。すべての情報は、ユーザーの機器にのみ保存され、サーバーに送信される内容はありません。ただアプリを削除してください。

13. 上部バーの通知の背景の設定

基本は記念日の背景を使用します。設定でシステムのスタイル通知を使用するように設定することができます。

[And] BeenTogether FAQ

1. How can I set the Background Image?

2. How to remove the ads?

3. Can I change the fonts?

4. How can I hide the days on the icon badge?

5. How to use the widget on the Home screen?

6. Why is the date different one day?

7. How can I delete anniversaries?

8. How can I delete my account?

9. How can I make the notification background transparent?

Most things are customizable from the settings so check it before asking.
Send us a e-mail if you have more questions

——————

1. How can I set the Background Image?

backgroundYou can change the background image by pressing the background button on the Action bar.
Select the image by taking a photo, or choosing from the library.

back2Crop as the size of the screen, and it will be set as the background.

2. How to remove the Ads?

You can buy the app without ads.

https://play.google.com/store/apps/details?id=net.milkdrops.beentogether.full

3. Can I change the fonts?

Our app includes a default font and you can use the system font by selecting the ‘Use System Font’ from the settings.

If you have a .ttf or .otf font file, you can use it by selecting from the settings.

4. How can I hide the days on the icon badge?

You can turn it off from the settings.

6. Why is the date different one day?

Our app’s default option is starting from day 1. You can change the option from the settings and if the date is still different, please send us the start date and the desired days number.

7. How can I delete anniversaries?

You can delete it from the bottom of the anniversary settings. Or you can long press the anniversary on the side by and you can find it. You cannot delete the anniversary when it is the only one.

8. How can I delete my account?

There is no sign up process, so there is no account either. All information is stored in your device and nothing is sent to the server, so just delete your app.

9. How can I make the notification background transparent?

Notification background is using the anniversary background as default, but you can change the settings to use the system theme(which is transparent and using the system font color.)

[And] ホーム画面にウィジェット配置する方法

ウィジェットは、ホーム画面から直接追加する必要があります。

ところが、ウィジェットを追加する方法が機器ごとに異なるため、一般的な二つの方法をお知らせします。
下記の方法で追加ができない場合はスマホメーカーにお問い合わせください

1. Android OSハニカム3.0以上

1. アプリ一覧を開きます
1. アプリ一覧を開きます

 

2. ウィジェットタブを選択します。
2. ウィジェットタブを選択します。

 

3. ウィジェットを選択して押します。
3. ウィジェットを選択して押します。

 

4. 画面上に配置します。
4. 画面上に配置します。

 

2. Android OS 2.x

1.  画面の空いているところを長押しするとメニューが表示されます
1. 画面の空いているところを長押しするとメニューが表示されます

 

2. 「ウィジェット」を選択します。
2. 「ウィジェット」を選択します。

 

3. ウィジェットを選択し、画面に配置します。
3. ウィジェットを選択し、画面に配置します。