【问题标题】:Android opening input method setting activity does not workAndroid打开输入法设置activity不起作用
【发布时间】:2016-10-27 13:56:07
【问题描述】:

单击按钮后,我尝试从应用程序启动输入法设置,但它不起作用 我尝试添加权限,但也不起作用

btnAdd.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent in=new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS);
            startActivityForResult(in);

        }

        private void startActivityForResult(Intent intent) {
        }
    });

这是清单:

 <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">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <action android:name="android.setting.INPUT_METHOD_SETTINGS"/>
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <service android:name="Myapp"
        android:label="@string/app"
        android:permission="android.permission.BIND_INPUT_METHOD">


        <meta-data android:name="android.view.im"
            android:resource="@xml/method"/>



        <intent-filter>

            <action android:name="android.view.InputMethod"/>
        </intent-filter>

    </service>

</application>

【问题讨论】:

    标签: android android-activity permissions


    【解决方案1】:

    首先,您应该调用不同的startActiivtyForResult。 然后,在您的活动中,您应该覆盖不同的 onActivityResult 方法。希望这些链接对您有所帮助。

    编辑

    是的,它确实有效。查看快速制作的示例:

    import android.content.Intent;
    import android.os.Bundle;
    import android.provider.Settings;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    
    public class MainActivity extends AppCompatActivity {
        private static final int INPUT_METHOD_RESULT = 947;
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Intent in = new Intent(Settings.ACTION_INPUT_METHOD_SETTINGS);
            startActivityForResult(in, INPUT_METHOD_RESULT);
        }
    
        @Override
        protected void onActivityResult(int requestCode, int resultCode, Intent data)     {
            super.onActivityResult(requestCode, resultCode, data);
            Log.d(MainActivity.class.getSimpleName(), "Returning from input settings with code: " + requestCode);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-12-05
      • 2014-12-05
      • 1970-01-01
      • 2018-09-04
      • 2013-03-27
      • 1970-01-01
      • 1970-01-01
      • 2019-08-29
      • 1970-01-01
      相关资源
      最近更新 更多