单击应用程序快捷方式时,我打开一个带有Dialog主题的Activity.如果我在Activity上使用该主题,似乎不会关闭应用程序快捷方式.如果我删除了Dialog主题,则单击其中一个后将关闭应用程序快捷方式.任何的想法?谢谢!
对于AVD Manager,有哪些Android 7.1.1(Nougat)API 25(25,而不是24)ARM系统映像(ARM,而不是x86 Intel)?谢谢
非官方?测试版?Α?任何?
在向现有应用添加静态应用快捷方式时,我遇到了一些问题.我按照https://developer.android.com/guide/topics/ui/shortcuts.html中的步骤显示了快捷方式,但是当我点击它时它不会启动活动,而是显示一个toast消息说:" 应用程序未安装 ".
以下是清单的相关部分:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mypackage">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".activities.SplashActivity"
android:noHistory="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data
android:name="android.app.shortcuts"
android:resource="@xml/shortcuts" />
</activity>
<activity
android:name=".activities.MainActivity"
android:label="@string/title_activity_main"
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name=".activities.ListActivity"
android:label="@string/title_activity_list"
android:parentActivityName=".activities.MainActivity"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mypackage.activities.MainActivity" />
</activity>
<activity
android:name=".activities.NewActivity"
android:label="@string/title_activity_new"
android:parentActivityName=".activities.ListActivity"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.mypackage.activities.ListActivity" />
</activity>
<application/>
</manifest>
Run Code Online (Sandbox Code Playgroud)
这是shortcuts.xml文件:
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
<shortcut
android:shortcutId="shortcut_new_alarm"
android:enabled="true"
android:icon="@mipmap/ic_launcher"
android:shortcutShortLabel="short label"
android:shortcutLongLabel="long label"
android:shortcutDisabledMessage="message">
<intent
android:action="android.intent.action.VIEW"
android:targetPackage="com.mypackage"
android:targetClass="com.mypackage.activities.NewActivity" />
<!-- If your shortcut is …
Run Code Online (Sandbox Code Playgroud) 我试图为我在 Ubuntu 16.04 64 位上构建的Android 7.1.1 AOSP模拟器获得多用户支持。构建运行lunch aosp_x86-eng
并跟随模拟器运行emulator64-x86
。
我尝试了这个解决方案,但没有成功:
adb shell
su
setprop fw.max_users 5
Run Code Online (Sandbox Code Playgroud)
当我擦拭状态栏时,图标第一次可见,但在释放它时消失:
和这里一样:
adb shell setprop fw.show_multiuserui 1
adb shell setprop fw.max_users 4
Run Code Online (Sandbox Code Playgroud)
我也尝试通过 adb 添加用户但没有成功。执行命令后,我使用以下命令对其进行测试:
su
pm get-max-users
Run Code Online (Sandbox Code Playgroud)
结果是:
Maximum supported users: 4
Run Code Online (Sandbox Code Playgroud)
是否有障碍或类似的东西?还是我需要编辑构建?如果我需要 root 系统,为什么属性设置为 4 个用户?为什么第一次擦除时图标显示,释放后消失?
谢谢!
android android-emulator android-multiple-users android-7.1-nougat
在Android Nougat 7.1.1上连续使用应用程序后,它开始在后台崩溃,直到手动启动。从Firebase,我得到以下日志:
Caused by java.lang.IllegalArgumentException: Too many NetworkRequests filed
android.os.Parcel.readException (Parcel.java:1688)
android.os.Parcel.readException (Parcel.java:1637)
android.net.IConnectivityManager$Stub$Proxy.pendingListenForNetwork (IConnectivityManager.java:2460)
android.net.ConnectivityManager.registerNetworkCallback (ConnectivityManager.java:3127)
com.XXX.XX.location.GPSControl$Companion.setInitialized (GPSControl.java)
__null__.getGApiClient (GPSControl.java)
__null__.setGApiClient (GPSControl.java)
__null__.setConnMan (GPSControl.java)
__null__.setSf (GPSControl.java)
__null__.init (GPSControl.java)
__null__.getPI (GPSControl.java)
__null__.triggerLocation (GPSControl.java)
__null__.triggerLocation$default (GPSControl.java)
__null__.access$getInitialized$p (GPSControl.java)
com.XXX.XX.KGL.afterLoginSetup (KGL.java)
com.XXX.XX.KGL.onCreate (KGL.java)
android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1025)
android.app.ActivityThread.handleBindApplication (ActivityThread.java:5460)
android.app.ActivityThread.-wrap2 (ActivityThread.java)
android.app.ActivityThread$H.handleMessage (ActivityThread.java:1556)
android.os.Handler.dispatchMessage (Handler.java:102)
android.os.Looper.loop (Looper.java:154)
android.app.ActivityThread.main (ActivityThread.java:6176)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:888)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:778)
Run Code Online (Sandbox Code Playgroud)
我检查了android marshmallow源代码,它不包含引发此错误的代码,但是master分支却包含了,因此我们可以得出结论,此错误是特定于Nougat的。
private void enforceRequestCountLimit() {
synchronized (mUidToNetworkRequestCount) {
int networkRequests = mUidToNetworkRequestCount.get(mUid, 0) …
Run Code Online (Sandbox Code Playgroud) 在Android(目标25)中,我有一个后台服务,在onCreate函数中,我初始化了一个手机状态监听器.它适用于Nougat之前的Android版本,但在Nougat中它不起作用,即使权限被授予.
public class Service extends IntentService
{
class PhoneListener extends PhoneStateListener
{
String TAG = getClass().getName();
@Override
public void onCallStateChanged(int state, String incomingNumber)
{
super.onCallStateChanged(state, incomingNumber);
switch (state)
{
case TelephonyManager.CALL_STATE_IDLE:
Log.d(TAG,"IDLE" );
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Log.d(TAG,"OFFHOOK");
break;
case TelephonyManager.CALL_STATE_RINGING:
Log.d(TAG,"RINGING");
break;
}
}
}
public Service ()
{
super("ChatService");
}
public Service(String name)
{
super(name);
}
@Override
public void onCreate()
{
super.onCreate();
TelephonyManager tm = (TelephonyManager)getApplicationContext().getSystemService(TELEPHONY_SERVICE);
PhoneListener listener = new PhoneListener();
tm.listen(listener,PhoneStateListener.LISTEN_CALL_STATE);
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道是什么问题,看起来电话管理器没有注册,因此没有触发onCallStateChanged.我的猜测之一是在Android M上引入的Doze功能,但仍然......即使手机未找到"工作中",此代码在Android 6上运行正常
android telephonymanager android-doze android-7.0-nougat android-7.1-nougat
我最近注册了我的Pixel XL for Android Beta计划.更新到Nougat 7.1.2后,在Android Studio Linux中未正确检测到我的设备.
我在AVD显示器中得到类似的东西
HT6A70201284 [null]
Run Code Online (Sandbox Code Playgroud)
但它正在我的Windows桌面上工作,我在其他Linux设备上尝试过它并遇到了同样的问题.我发现了一个关于驱动程序支持的帖子,所以我将我的SDK更新为Android O预览版,但没有用.
另一个奇怪的行为是当我打开手机中的调试模式时,它被我的linux系统检测到,其他帖子说明了相同的驱动程序问题,但我无法弄清楚究竟是哪个驱动程序以及我应该从哪里安装.
在android 6,我通过访问proc文件获得正在运行的应用程序和进程ID的列表.但是在android 7它没有用.那么我怎样才能在android nougat上获得进程ID的运行流程?
我正在使用以下代码在我的应用程序中录制音频
private void startRecording() {
if (mRecorder == null) {
mRecorder = new MediaRecorder();
}
mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
mRecorder.setOutputFile(path);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
mRecorder.prepare();
} catch (IOException e) {
Log.i(TAG, e.getMessage());
}
mRecorder.start();
}
Run Code Online (Sandbox Code Playgroud)
上面的代码在android lollipop 5.1上完美工作,但在android牛轧糖7.1.1上得到以下错误
05-25 14:51:45.245 21686-21686/com.chatting.test E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.chatting.test, PID: 21686
java.lang.RuntimeException: start failed.
at android.media.MediaRecorder.start(Native Method)
at com.chatting.test.Activities.Chats.PrivateChatActivity.startRecording(PrivateChatActivity.java:1363)
at com.chatting.test.Activities.Chats.PrivateChatActivity.onTouch(PrivateChatActivity.java:219)
at android.view.View.dispatchTouchEvent(View.java:10019)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2264)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2632) …
Run Code Online (Sandbox Code Playgroud) 我正在编写可以通过互联网上的某些数据处理蜂窝数据的软件,并使用直接打印通过WiFi将发票打印到HP打印机.我没有使用路由器或其他网络设备.所以我知道新的Android 7.1有一个功能,不能连接到无法访问互联网的网络.当我禁用蜂窝数据时,它连接到wifi并打印它没有任何问题.
有没有解决这种情况的方法.所以当我连接到没有互联网的wifi时,无论如何都会切换到wifi.