私のIPを保護しながら、パートナーが使用するjarとしてプラットフォームを配布できるように、私が持っているアプリを「プラットフォーム」レイヤーと「アプリ」レイヤーに細分化しています。
現在、2 つの Eclipse プロジェクトがあります。ビルドにはリソースを jar にコンパイルする機能がないため、すべてのリソース参照をアプリ プロジェクトに移動しました (プラットフォーム プロジェクトの gen/ ディレクトリは空です)。プラットフォームをコンパイルし、jdk を手動で使用して jar し、その jar をアプリ プロジェクトにインポートし、アプリ プロジェクトでエクスポート用に jar をマークし、テスト アプリを正常にコンパイルしてインストールしました。
public class NotifyService extends Service {
...
@Override
public void onStart(Intent intent, int startId) {
myNotify(intent.getIntExtra(EXTRA_ICON),...));
}
private void myNotify(int iconResource, String s1, String s2, String s3) {
Context c = getApplicationContext();
if (H.VERBOSE) Log.d(TAG, "myNotify()"); //$NON-NLS-1$
Notification n = new Notification(iconResource, s1, currentTime);
Intent nextStep = new Intent(Intent.ACTION_VIEW,Uri));
PendingIntent pending = PendingIntent.getActivity(c, 0, nextStep, 0);
n.setLatestEventInfo(c, s2, s3, pending);
mgr.notify(1, n);
}...
テスト アクティビティは期待どおりに起動し、このサービスから LogCat() メッセージを受け取ります。ただし、通知は表示されず、エラーはログに記録されません。ただ黙っているだけです。...
とにかく、パートナーアプリには、サービス、コンテンツプロバイダー、Web、作品に接続する私のプラットフォームを活用してもらいたい. 誰でもガイダンスを提供できますか?
アップデート!
はぁ...典型的な...すべてのリソースをプラットフォームからアプリに移動したとき、アプリレイヤーからこれらを適切に渡しませんでした。したがって、私が示したコード例にはエラーはありませんでした。もちろん、「渡された引数」を「期待される引数」から切り離すのではなく、インテントを使用すると、コンパイラは文句を言いません。修正されたアプリでは、これは機能します。
バイナリ配布プラットフォームを作成することは珍しいことではないと思いますが、それに関するドキュメントがあまり見つからないので、ドアを開けながら重要な発見を追加し続けます...誰かに役立つことを願っています.