当用户在任何应用程序中单击任何textView时,如何在键盘上方运行我的应用程序?

时间:2016-07-31 19:56:53

标签: android android-softkeyboard

每当用户在任何应用程序中单击textView时,我都想在键盘上方看到我的应用程序视图,我知道的唯一的事情是我的应用程序应该在后台运行并在调用键盘时使视图可见,但是我我不确定这是否可能,如果是的话,我不知道该怎么做。

我希望这可以帮助你理解我正在谈论的内容 enter image description here

编辑2016年8月5日: 我创建了一个前台服务,但我不知道如何在其他应用程序中检测软键盘

MainActivity.java

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Intent SERVICE_INTENT = new Intent(this,MyServiceTest.class);
        startService(SERVICE_INTENT);
    }
}

MyServiceTest.java

import android.app.Notification;
import android.app.PendingIntent;
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.support.annotation.Nullable;


public class MyServiceTest extends Service {

    @Override
    public void onCreate() {
        super.onCreate();
        Intent MAIN_INTENT = new Intent(this,MainActivity.class);
        PendingIntent myPendingIntent = PendingIntent.getActivity(this,0,MAIN_INTENT,0);
        Notification myNotification = new Notification.Builder(this).setContentTitle("Title")
                .setContentText("The Content text").setSmallIcon(R.mipmap.ic_launcher)
                .setWhen(System.currentTimeMillis()).setContentIntent(myPendingIntent)
                .build();
        startForeground(1337,myNotification);
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {

        Thread myThread = new Thread(new Runnable() {
            @Override
            public void run() {
            }
        });
        myThread.start();
        return START_STICKY;
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
    }

    @Nullable
    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }
}

的AndroidManifest.xml

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity"
            android:windowSoftInputMode="stateHidden|adjustPan">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <service android:name=".MyServiceTest">
        </service>
    </application>

任何信息或想法都可能有所帮助,在此先感谢^ _ ^

1 个答案:

答案 0 :(得分:0)

我相信这就是你想要的: android:windowSoftInputMode="stateHidden|adjustPan"

将其添加到您的清单中的活动中。

示例:

<activity
        android:name="activities.WorkObjectActivity"
        android:windowSoftInputMode="stateHidden|adjustPan"//This one
        android:label="@string/urenToevoegen"
        android:screenOrientation="portrait"
        android:parentActivityName="activities.MainActivity"/>