我想在 S Pen 分离时立即打开我的应用程序,如果仅在再次打开我的应用程序时调用 onSPenDetached 下的方法,您该怎么做?
谢谢,
昌杜
以下内容适用于我的配备 S-Pen (SM-P550)、运行 Android 5.0.2 的 Galaxy Tab A 9.7。
连接和分离手写笔会创建广播意图类型com.samsung.pen.INSERT
带有名为 booleanExtra 的penInsert
of false
如果分离并且true
如果放回设备中。
因此,可以创建一个广播接收器来过滤此类事件。以下代码适用于此类广播接收器,如果手写笔分离,该接收器将启动 OneNote:
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class SPenDetachIntentBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent penInsertIntent) {
if (!penInsertIntent.getBooleanExtra("penInsert", true)) {
try {
Intent launchIntent = context.getPackageManager().getLaunchIntentForPackage("com.microsoft.office.onenote");
context.startActivity(launchIntent);
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
在 Manifest 文件中,您需要将其声明为监听的接收器com.samsung.pen.INSERT
使用意图过滤器广播意图。项目中的以下条目AndroidManifest.xml
宣称SPenDetachBroadcastReceiver
,生成一个实例并使其监听com.samsung.pen.Insert
广播意图:
<receiver
android:name=".SPenDetachIntentBroadcastReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="com.samsung.pen.INSERT" />
</intent-filter>
</receiver>
相对于使用的优点registerSPenDetachmentListener
on an SPenEventLibrary
对象注册Service
与onSPenDetached
实现的方法是不需要任何额外的库文件,也不需要额外的权限。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)