私は Titanium を初めて使用し、その上でハイブリッド アプリケーションを作成しています。通常のAndroidプロジェクトを作成してアクティビティを作成し、そのプロジェクトでサービスを作成し、そこから.jarを作成した場合のような問題があります。
MOBILE MODULE PROJECTを作成し、そのjarファイルをそのlibフォルダーに追加し、プロジェクトを右クリックしてライブラリとして追加したように、Titaniumでアクションを開始しました->プロパティ-> addjar。そして、次のように timodule.xml にエントリを作成しました。
<android xmlns:android="http://schemas.android.com/apk/res/android">
<manifest android:versionCode="1"
android:versionName="1.1.0"
android:installLocation="auto">
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<application>
<activity android:name="com.example.eaxmpleproject.ExampleActivity">
</activity>
<services android:name="com.example.eaxmpleproject.ServiceUtility">
</services>
</application>
</manifest>
</android>
そして、次のように mytest2Module.java から開始サービスとアクティビティを呼び出します。
// Methods
@Kroll.method
public String example()
{
Log.d(TAG, "example called");
Toast.makeText(getActivity().getApplicationContext(), "opening activity", 1).show();
Intent intent = new Intent(getActivity(), ExampleActivity.class);
getActivity().startActivity(intent);
Intent intent2 = new Intent(getActivity(), ServiceUtility.class);
getActivity().startService(intent2);
return "testExample";
}
次に、build.xml を右クリックし、runas->AntBuild に移動して、zip ファイルを作成します。その後、zipファイルを取得して、「newmobileproject」などの新しいモバイルプロジェクトを作成し、その生成されたzipファイルを新しく作成された「newmobileproject」のルートに貼り付け、app.jsからそのメソッドを次のように呼び出します。
var test= require("com.mytest");
test.example();
次のように tiapp.xml にエントリを作成します。
<android xmlns:android="http://schemas.android.com/apk/res/android">
<manifest android:versionCode="1"
android:versionName="1.1.0"
android:installLocation="auto">
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<application>
<activity android:name="com.example.eaxmpleproject.ExampleActivity">
</activity>
<services android:name="com.example.eaxmpleproject.ServiceUtility">
</services>
</application>
</manifest>
</android>
問題は、すべてのエントリを作成した後、サービスが実行されていないことです。その理由はわかりません。