Google Maps Widged が組み込まれた Android アプリケーションがあります。ウィジェットを条件付きでリンクしました。つまり、ウィジェットをロードするコードは次のようになります。
public class Starter extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.starter);
try
{
Class.forName("com.google.android.maps.MapView");
Intent i = new Intent();
i.setClass(this, GoogleMapsActivity.class);
startActivity(i);
finish();
}
catch(ClassNotFoundException e)
{
TextView tv = (TextView)findViewById(R.id.google_maps_start);
tv.setText(R.string.not_found);
}
}
}
AndroidManifest には次の行が含まれています。
<uses-library android:name="com.google.android.maps" android:required="false" />
ClassNotFoundException
ウィジェットはエミュレーターと実際のデバイスで正常に動作しますが、ハンドラーによって開始された「Google マップが見つかりません」というメッセージが表示されるデバイスもあります。それにもかかわらず、同じデバイスには Google マップが搭載されており、問題なく動作します。問題は、私のアプリケーション、またはおそらく特定のデバイスの何が問題なのか、そして問題を解決するにはどうすればよいのかということです。