開発サイトのヘルプを見てきました: http://developer.android.com/guide/topics/appwidgets/index.html
欠点は、コードがアプリのクラスを見つけられないことです。
Intent intent = new Intent(context, <package for main activity>.MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
RemoteViews view = new RemoteViews(context.getPackageName(), R.layout.main);
view.setOnClickPendingIntent(R.id.widget_textview, pendingIntent);
MainActivity のパッケージは、Eclipse のまったく別のプロジェクトにあります。
そのため、MainActivity のパッケージをウィジェットのビルド パスに追加し、注文の先頭に配置しました。
ビルド順序:
-->主な活動パッケージ<--
ウィジェット/ソース
ウィジェット/世代
アンドロイド 4.2.2
Android の依存関係
アプリは既にエミュレーターにあり、正常に動作します。
ウィジェットは、アプリに接続しようとせずに正常に動作します (そのため、これらの 4 行はありません)。
2つを接続してエミュレータにインストールすると、次のようになります。
【ウィジェット】 ------------------------------
【ウィジェット】Androidローンチ!
【ウィジェット】adbは正常に動作しています。
[ウィジェット] ランチャーのアクティビティが見つかりません!
[ウィジェット] 起動すると、デバイス上のアプリケーション パッケージのみが同期されます!
【ウィジェット】同期中
[ウィジェット] 自動ターゲット モード: 互換性のある AVD 'NexusS' を実行する既存のエミュレーター 'emulator-5554' を使用
[ウィジェット] Widget.apk をデバイス「emulator-5554」にアップロードする
[ウィジェット] Widget.apk をインストールしています...
【ウィジェット】成功!
[ウィジェット] プロジェクトの依存関係が見つかりました。インストール中: MainActivity
[MainActivity] アプリケーションは既にデプロイされています。再インストールする必要はありません。
[ウィジェット] /Widget/bin/Widget.apk を端末にインストール
【ウィジェット】完成!
ウィジェットはスローされますが、機能しません。デフォルトの文字列値のみを表示します。行のコードにエラーがあります
Intent intent = new Intent(context, <package for main activity>.MainActivity.class);
それは基本的に「クラスが見つかりません」と言っています
このクラスを取得する方法について何か助けはありますか? Eclipse は、リンクを試みる前に .class ファイルを作成していませんか?
Eclipse には、このコードに関する問題はありません。他のプロジェクトがインポートされたことを認識し、クラスを作成できます。