最近、単純なAndroidプロジェクトで作業を開始しましたが、うまく動作しないようです。私は主なアクティビティ(@スタイル/不可視のパラメータを持っています)を持っています。私のサービスが動作しているかどうかをチェックし、そうでなければ起動します。また、チェックが行われる前に、結果の別のアクティビティが開始されます。このアクティビティでは、ユーザーのユーザー名とパスワードが返され、アプリがシステムにログインできるようになります。問題は、私が自分の携帯電話にアプリケーションをインストールするとうまくいくが、次回は何も起こらないということだ。私はそれを再インストールする必要があります。アイコンがクリックされたときにアクティビティが開始しない
ここでは主な活動です:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Intent intent = new Intent(this, LoginGrabber.class);
startActivityForResult(intent, 100);
if(isMyServiceRunning()==false)
{
startService(new Intent(getApplicationContext(), MyService.class));
Log.i("com.connect","startService");
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode == 100){
if(resultCode == RESULT_OK){
String username = data.getStringExtra("Username");
String password = data.getStringExtra("Password");
//TODO Send to server
Toast.makeText(this, "Username: " + username + " Password: " + password, Toast.LENGTH_LONG);
}
}
}
private boolean isMyServiceRunning() {
ActivityManager manager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE);
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (MyService.class.getName().equals(service.service.getClassName())) {
return true;
}
}
return false;
}
LoginGrabber活動:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login_grabber);
}
public void onSendData(View view){
Intent intent = new Intent();
intent.putExtra("Username", ((TextView) findViewById(R.id.email)).getText());
intent.putExtra("Password", ((TextView) findViewById(R.id.password)).getText());
setResult(RESULT_OK, intent);
finish();
}
はここにマニフェストです:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.app.test"
android:versionCode="2"
android:versionName="2.0">
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="18" />
<supports-screens
android:largeScreens="true"
android:resizeable="true"
android:xlargeScreens="true" />
<uses-permission
android:name="android.permission.INTERNET"
android:required="true" />
<application
android:icon="@drawable/launcher"
android:label="@string/app_name"
android:theme="@style/Invisible">
<activity
android:name="com.connect.Main"
android:excludeFromRecents="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
<service
android:name="com.connect.MyService"
android:enabled="true"
android:exported="true" />
<activity
android:theme="@style/AppTheme"
android:name="com.connect.LoginGrabber"
android:label="@string/title_activity_login_grabber" />
</application>
</manifest>
私が間違って何をしているのですか?
ありがとうございました!
xml、マニフェスト、サービスコードをご記入ください –
あなたのonSendDataメソッドはどこにありますか? – mmcoder10
@ mmanボタンを押すと呼び出されます。 XMLには 'android:onClick =" onSendData "パラメータがあります。 –