私はアンドロイドでリモートビューを試しています。だから私は2つのアプリを作成しました。A -> AIDL 呼び出しで RemoteView と文字列を含むバンドルを送信します。B -> ボタン クリックで AIDL 呼び出しを行い、データをフェッチし、すぐにアクティビティを起動してリモート ビューを表示します。
リモートビューを表示するために使用しているアクティビティは次のとおりです。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent i = getIntent();
Bundle b = i.getBundleExtra("bundle");
RemoteViews rv = (RemoteViews) b.getParcelable("RemoteView");
String t = b.getString("test");
Log.i("RemoteViewDisplay","String: " + t);
View v = rv.apply(getApplicationContext(), null);
setContentView(v);
}
リモート ビューと一緒に送信した文字列を取得していますが、リモート ビューを表示できません。
以下は、AIDL が呼び出されたときに実行されるコードです。
Log.i("TimeMessageService", "getRemoteViews called.");
int i = getCallingUid();
PackageManager pm = service.getPackageManager();
String name = pm.getNameForUid(i);
RemoteViews rv = new RemoteViews(name, R.id.imageView);
Bundle b = new Bundle();
b.putParcelable("RemoteView", rv);
b.putString("test", "testString");
return b;
しかし、リソース ID #0x7f060000 のリソースが見つからないという例外が引き続き発生します。
私の間違いはどこにあるのでしょうか。
前もって感謝します。
編集:
画像表示レイアウト
<?xml version="1.0" encoding="utf-8"?>
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/icon" />