在Android Marshmallow中,应在运行时在需要时请求权限,而不是在安装应用程序时立即请求权限.但是,我似乎只能从Activity请求权限,这是一个问题,因为我的应用程序只包含服务.(为什么会这样,你可能会问?该应用程序内部捆绑了一个Android Wear手表,所有手机都会查看附近的照片以发送到手表 - 无需任何活动.但它确实需要位置权限.)
那么,有没有办法从服务请求权限?或者以某种方式强制在安装时授予权限,就像过去一样?
我似乎无法创建Android Wear通知,更新时不会闪烁应用程序图标,而相同的代码在Android手机上正常工作.
大多数引用的解决方案都涉及更新相同的通知,使用setAlertOnlyOnce,保留ID或何时相同.但是,无论我做什么,每次更新通知时它都会闪烁(最常见的是应用程序图标).
正如这里所建议的那样Android Wear:像穿戴设备上的通知卡一样,你可以使用setHintHideIcon(true)隐藏应用程序图标,隐藏闪烁的部分,但是在Android Wear Notifications的有限世界中,应用程序图标在应用程序的品牌.
如果你想要一个计时器,你可以使用.setUsesChronometer(true)让系统更新完美的计时器.不幸的是,如果你想更新别的东西而不是时间(比如收到的步骤或消息数),我觉得你运气不好.
您可以在下面找到在作为手机应用程序运行时正常运行的代码,但在作为可穿戴应用程序运行时会闪烁.
下面的注释行显示通知仍然闪烁(当在磨损时运行时,而不是电话),当在可穿戴设备上发布未更改的通知时,通知仍然闪烁.取消注释以再次更新通知.
mNotification = buildNotification(WearMainActivity.this);
Run Code Online (Sandbox Code Playgroud)
因此,我的问题是,如果有人有任何进一步的想法,我们可以探索以防止通知闪烁或我们是否可以将其写为Android Wear漏洞?
public class WearMainActivity extends Activity {
public final int NOTIFICATION_ID= 1;
public Notification mNotification;
public int count;
public long when;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
count = 0;
when = System.currentTimeMillis();
mNotification = buildNotification(WearMainActivity.this);
postDelayedHandler();
finish();
}
private void postDelayedHandler(){
new Handler().postDelayed(new Runnable() {
public void run() {
count++;
mNotification = …
Run Code Online (Sandbox Code Playgroud) 我没有Android Wear,也没有运行4.3的手机.有没有办法连接JB 4.3模拟器和Android Wear模拟器进行应用程序开发?
无法创建Android虚拟设备 我接下来链接.
我为每个Android安装了超过4.0的所有ARM映像.
我也安装了intel和MIP.
但是,我的AVD管理器仍在说"没有为此目标安装系统映像".
为什么这样?
我刚刚为Android Mobile 和 Wear 创建了一个新的Android Studio项目.初始gradle构建失败,因为我收到了几个错误 -
Error: Failed to resolve: com.android.support:support-v4:26.0.0
Error: Failed to resolve: com.android.support:percent:26.0.0
Error: Failed to resolve: com.android.support:recyclerview-v7:26.0.0
Error: Failed to resolve: com.android.support:support-annotations:26.0.0
对于每个错误,我都可以选择Install repository and sync project
,但是当我点击它时没有任何反应.我花了几个小时试图找到我收到这些错误的原因,但我找不到任何解决方案.有谁知道如何解决这些非常令人沮丧的错误?谢谢!
build.gradle(项目)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module …
Run Code Online (Sandbox Code Playgroud) 我有一个可穿戴设备,我正在尝试连接到GoogleApiClient,但从不调用回调(onConnected,onConnectionSuspended或onConnectionFailed).其他所有工作正常,DataLayerListenerService能够从掌上电脑接收消息,并在连接时调用onPeerConnected.我试过了仿真器和三星Gear Live设备.这是我在Activity中的代码,我正在尝试连接到GoogleApiClient.
public class WearReaderActivity extends Activity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {
public static final String CONTENT_EXTRA = "contentExtra";
private String LOG_TAG = WearReaderActivity.class.getSimpleName();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.reader);
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addApi(Wearable.API)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.build();
}
private GoogleApiClient mGoogleApiClient;
@Override
protected void onStart() {
super.onStart();
Log.e("Connected?", String.valueOf(mGoogleApiClient.isConnected()));
//new Thread(new GetContent()).start();
}
@Override
public void onConnected(Bundle bundle) {
Log.d("Connected", "Connected");
new Thread(new GetContent()).start();
}
@Override
public void onConnectionSuspended(int i) {
Log.d("Connection suspened", "Connection suspended");
}
@Override
public …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个Android项目,我必须将android wearable
智能手表作为游戏控制器,它可以向连接到该智能手表的手持设备上运行的游戏发送命令BLE(Bluetooth Low Energy)
.
我在可穿戴设备上设计了控制器垫,可以在控制器键盘的软按钮上发送一些硬编码文本到手持设备应用程序.问题是,我必须用手持设备上运行的游戏所期望的游戏命令格式替换该文本.并且,在手持设备上运行的应用程序可以通过可穿戴服务来收听文本.我知道,第三方游戏不会运行任何可穿戴服务,因此第三方游戏将如何接受/收听可穿戴智能手表发送的命令.
我无法将Android Wear Emulator连接到我的设备.我有HTC One设备,它有4.4(KitKat OS).
我按照以下链接:
但是,当我通过命令提示符执行行adb -d forward tcp:5601 tcp:5601时,没有任何反应.Android Wear模拟器不显示设备已连接.
注意:我可以在设备中成功启动Android Wear预览应用,并且还启用了通知设置.
任何帮助将不胜感激.
我在Android Studio 0.8中创建了一个新项目,以便开始将Android Wear集成到我的某个应用中.我创建了一个新项目并包含Wear形状因子,但是当我尝试同步时,我得到:
错误:找不到与com.google.android.support:wearable:+匹配的任何版本.要求:win_control:穿:未指定
编辑:我和Gradle玩了一下,现在我得到了这些错误:
错误:无法找到:com.google.android.gms:play-services-wearable:+在Project Structure对话框中
打开打开文件错误:无法找到:com.google.android.support:wearable :+在"项目结构"对话框中
打开"打开文件"
我想知道是否有可能从掌上电脑(Android手机)发送通知来佩戴设备打开穿戴设备上的活动?我想做的是如下.
到目前为止,我检查了以下文档,但它与我想要做的不同.
有任何想法吗?